home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 9 / Amoszine 9 (Disk 3 of 3).adf / Steves_ALister_Source.lha / AMOSLIST_0595 2 < prev   
Text File  |  1992-03-06  |  92KB  |  2,719 lines

  1.  
  2. X-Status: 
  3.  
  4. paul.hickman@ecl.etherm.co.uk (Paul Hickman) wrote on 11.05.1995 some
  5. text under the subject Re: Software Failure. I can't leave this
  6. uncommentated ;-)
  7.  
  8. PH> If it crashes at the end of a loop / if block, the probable cause is 
  9. PH> this:  When an AMOS command is executed, it receives its parameters 
  10. PH> on a stack using register A3. If must remove all these from the stack 
  11. PH> by adjusting A3 before it returns. The address to loop/jump to for 
  12. PH> if/loop commands is also on A3, so if a command does in the loop does 
  13. PH> not remove all of its parameters correctly, your program will jump to 
  14. PH> the wrong place. Can you mail me the section of code in question?
  15.  
  16. That's what I wanted so say, too %-)))
  17.  
  18. Bye, Chris Hodges <chris@sixpack.pfalz.de>       __    __
  19. A500/290/CD/'30er; German Extension-Coder   __  ///   / / _____
  20. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  21. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  22. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  23.  
  24. Ardcrony (n.)
  25.   A remote acquaintance passed off as 'a very good friend of mine' by
  26.   someone trying to impress people.
  27. (from: "The Deeper Meaning of Liff")
  28.  
  29. F
  30. X-Status: 
  31.  
  32. gcox@cts.com (Greg Cox) wrote on 10.05.1995 some text under the
  33. subject List Dead or ?. I can't leave this uncommentated ;-)
  34.  
  35. GC> Haven't seen any post on the list for almost a week now is the list:
  36.  
  37. Nice to hear that somebody else had got this problems... from 3.5.95
  38. to 16.5.95 I got not a single internet mail...
  39.  
  40. I was very frustrated, you can imagine, eh?
  41.  
  42. GC> 1) Down
  43.  
  44. That's the only possible reason... :)
  45.  
  46. GC> 2) Dead
  47.  
  48. NO! ;-)
  49.  
  50. I did send a mail to amos-list, but I think it got lost:
  51. --------------------------------------------------------------
  52. BET:Problems :-(
  53. MID:vsMiJMD261aLz3@chris.surprise.rhein-ruhr.de
  54. EDA:19950510120705S+2
  55. EMP:amos-list@access.digex.net
  56.  
  57. Hello!
  58.  
  59. It's now one week ago I got my last amos-list or internet mail... I'm
  60. now changing to a new address... to achieve maximum mail reliability,
  61. please SUBSCRIBE me to *both* chris@surprise.rhein-ruhr.de and
  62. chris@sixpack.pfalz.org if possible.
  63.  
  64. If somebody has written me PMs and hasn't got a reply yet, please
  65. resend it to chris@surprise.rhein-ruhr.de...
  66.  
  67. Thank you for listening. ;-)
  68.  
  69. Greetings
  70.      Chris Hodges <chris@surprise.rhein-ruhr.de>
  71. ---------------------------------------------------------------
  72.  
  73. Bye, Chris Hodges <chris@sixpack.pfalz.de>       __    __
  74. A500/290/CD/'30er; German Extension-Coder   __  ///   / / _____
  75. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  76. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  77. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  78.  
  79. Ardentinny (n.)
  80.   One who rubs his hands eagerly together when he sits down in a
  81.   restaurant.
  82. (from: "The Deeper Meaning of Liff")
  83.  
  84. F
  85. X-Status: 
  86.  
  87. Can anyone send me an example of how the Turbo Plus Scene Editor is used? I do
  88. not know the best way to detect walls etc.
  89.  
  90. F
  91. X-Status: 
  92.  
  93. Wanted beta testers (only two or three)
  94.  
  95. I've just finished writting a utility for amos that takes a anim (Dpaint
  96. mode 5 animation) and converts it to a sprite/or bob bank.
  97.  
  98. The idea is that you can create your bobs in Dpaint (or any similar paint
  99. program) and animate them there until you get nice smooth movement. Then
  100. using my utility you can grab this animation as bobs for use in amos.
  101.  
  102. The first colour (background) must be black, but otherwise it's all
  103. automatic, including automagically checking for bob sizes. 
  104.  
  105. I now need a few beta testers to test it and give me feedback and
  106. suggestions.
  107. I will only give this out to a few people (I don't want a lot of buggy
  108. versions going out and getting passed around before the final version is
  109. finished), and I expect feedback.
  110. Please do not ask for it if you are not willing to test it and give
  111. feedback.  
  112. Darryl
  113.  
  114. -- Via DLG Pro v1.0
  115.  
  116.  
  117.                #####\             _             /#####
  118.                #( )# |          _( )__         | #( )# 
  119.                ##### |         /_    /         | #####
  120.                #" "# |     ___m/I_ //_____     | #" "#
  121.                # O # |____#-x.\ /++m\ /.x-#____| # O #
  122.                #m.m# |   /" \ ///###\\\ / "\   | #m.m#
  123.                #####/    ######/     \######    \#####
  124.  
  125.                  EX nightclub DJ (currently looking for work)
  126.  
  127. F
  128. X-Status: 
  129.  
  130. On Wed, 17 May 1995, Larry Mcgahey wrote:
  131.  
  132. > Can anyone send me an example of how the Turbo Plus Scene Editor is used? I do
  133. > not know the best way to detect walls etc.
  134.  
  135.     I don't know anything about the Turbo Plus Scene Editor but if
  136.         you mean that once you have a "map", how do you perform collision
  137.         detection and object interaction then I can help you.
  138.  
  139.         By map, I mean that you some data that descibes how your scene or
  140.         screen is to be created.  
  141.  
  142.         In general you have to transform from screen- or object-space into
  143.         map-space.  Once you are working in map-space you can easily
  144.         determine what to do.
  145.  
  146.         To begin, lets use an example of a simple break-out (or araknoid)
  147.         type game.  The map you create would represent the layout of
  148.         level: this is map-space.  To construct the screen-space you
  149.         have transform the representation from the map to the screen.
  150.         If you're using an extension, such as Turbo, then this is most
  151.         likely a built-in command.  This step would actually paste
  152.         the tiles (or icons) to the screen.  Now the "ball" that
  153.         travels around the screen is your object-space.  You have
  154.         to transform the object-space into the map-space to determine
  155.         if the ball has collided with a brick, a boudary, or nothing.
  156.  
  157.         To transform from object-space to map-space, you have to find
  158.         how the current position of the object (the ball) on the screen
  159.         corresonds to its location in the map.  For this case of
  160.         a simple break-out game you would do the calculations as follows:
  161.  
  162.             MAP X Co-ordinate = (BALL X Co-ordinate) / (TILE X Size)
  163.             MAP Y Co-ordinate = (BALL Y Co-ordinate) / (TILE Y Size)
  164.             (NOTE: / here means integer division)
  165.  
  166.         so if the ball was at (220,100) on the screen and the tiles
  167.         were 16x16 pixels then the ball would be at (13,6) in the
  168.         map.  It should be noted here that in this case the screen
  169.         and object-space are equivalent, but they won't always be.
  170.  
  171.         Now that you know the ball is at location (13,6) you have to
  172.         look up into the map to find what "tile" is at (13,6).  This
  173.         look up depends on how you have implemented your map-datatype.
  174.         Once you know what tile the ball is on you have to decide what
  175.         to do.  I usally implement this by having a set of values associated
  176.         with each tile, these values could represent what type of tile
  177.         this was.  Once you know what tile the ball is on, say 47, you
  178.         have to look up the type of this tile.  This value could
  179.         represent that their was no collision (i.e. a background tile)
  180.         or that it has struck a brick.  If there was no collison then
  181.         you do nothing but if their was a collison then you have to 
  182.         remove the brick from the screen and invert the sign on the
  183.         balls y-vector.
  184.  
  185.         Of course the first value of the tile could give the type and
  186.         once knowing it is a brick you could go and look up in another
  187.         set of values what type of brick it was you struck.  This is
  188.         all up to you.
  189.  
  190.         This can easily be extended to scrolling platform games, such
  191.         as mario bros.  If you want this explained or you need more
  192.         detail just ask.  I hope this helps.
  193.  
  194.         - Mike Sikorsky
  195.           (Dept. of Computer Eng. University of Alberta)
  196.  
  197.  
  198.  
  199. F
  200. X-Status: 
  201.  
  202.  
  203.     It seems noone know it... if I put a RUN instruction AMOS looks for
  204. an AMOS source file and doesn't accept a compiled one. 
  205.  
  206.     I have the compiler for Amos1.21 and I wish to chain two compiled
  207. programs, but I can't do that. Please help me!
  208.  
  209.         Andy - naimoli@cli.di.unipi.it
  210.             http://www.cli.di.unipi.it/~naimoli/hi.html
  211.  
  212. F
  213. X-Status: 
  214.  
  215. Hi all,
  216.  
  217. I tried (a long time ago) to open the req. library using amos1.3
  218. This worked fine. But I could not open the requester, everytime I
  219. got a guru (8000 0004). So I started investigating but could not find
  220. anything wrong.
  221.  
  222. The openlib-function from exec can be called as follows:
  223.  
  224. A1=pointer to "req.library"+chr(0) string
  225. D0=version (eg. 0)
  226. result=Execall(-552)
  227.  
  228. Works like a breeze and returns the library base in 'result'
  229. Ok, you'd say. Just to test this, I tried for example a deek to
  230. the library-base minus offset for some function. And indeed this
  231. returns the op-code for the JMP command. A leek to the following four
  232. bytes indeed shows a perfectly allright address within the 68k's space.
  233.  
  234. To simplify things even more I tried:
  235.  
  236. _EXEBASE = Leek(4)
  237.  
  238. This returns the current base of the 'exec.library' in _EXEBASE.
  239. To open a library you'd think that a simple call to 
  240. call _exebase-552
  241. and having set the a1 and d0 registers would work. Not so.
  242. It will crash. Only calls to a library function that does NOT
  243. need parameters will work.
  244. What does this suggest ?, well clearly the 'Call' command does
  245. not seem to be interested in the areg and dreg-settings.
  246.  
  247. Does anyone know if this can be overcome easily or do I have
  248. to use a 'bank' with some MOVE.L's to registers and THEN the
  249. call ? (rather bothersome I guess and close to the AmosPro
  250. Lib Call command!)
  251.  
  252. 'AMOS 1.3, load a library: 
  253. B$="intuition.library"+Chr$(0)
  254. Areg(1)=Varptr(B$)
  255. Dreg(0)=0
  256.  
  257.   'This WON't WORK!!
  258.    _EXEBASE=Leek(4)
  259.    Call Leek(_EXEBASE-552+2) : Rem openlin-function 
  260.  
  261.  
  262.  _INTBASE=Dreg(0)
  263.  
  264.   'And this WILL work *help* 
  265.    _INTBASE=Execall(-552)
  266.  
  267. Also, does anyone know what place to put the 'bitmap'-struct when
  268. using amos ?
  269. I tried opening a screen with intuition and intcall. Works ok.
  270. Then I supply the screenbase with 'CUSTOM-BITMAP' (bit 6 of some offset)
  271. and then I open an Amos-screen with the same dimension and put use:
  272. loke (scr_base+184+8),leek (screen base)
  273. loke (scr_base+184+12),leek (screen base+4)
  274. to replace the pointers of the bitmap to my own amos-bitmaps
  275. Works fine, when a 'rethinkdisplay' is called it shows the contents of
  276. the amos-screen in the intuition-screen.
  277. But this way, I trash the two bitplanes from the original intuition
  278. screen!
  279. (This way of putting an amos-screen in an intuitionscreen is VERY use-
  280. full because the REQTOOL-requester will appear on your 'amos-screen'
  281. in intuition, however, you'll have to rebuild you bitmap).
  282.  
  283. Sorry for the long message. I hope anyone will comment on this ?
  284.  
  285. ---------------------------------------------------------------
  286. Martijn Wehrens, Theoretical Chemistry Group Utrecht University
  287. email m.g.d.wehrens@chem.ruu.nl          
  288. ---------------------------------------------------------------
  289.  
  290. F
  291. X-Status: 
  292.  
  293. Hi Stephen,
  294.  
  295. Here's the commentated doscalls for reading a dir file
  296. for file:
  297.  
  298. ---------------------------------------------------
  299.  
  300. Input "drive:";A$ : Rem      input a$ :-)
  301. A$=A$+Chr$(0) : Rem          add a null to a$
  302. ' strings are terminated by a null-sting, not in AMOS however
  303. ' so therefore, we add our ouwn zero.
  304. Dreg(1)=Varptr(A$) : Rem     put a$-start into reg D1 
  305. Dreg(2)=-2 : Rem             put -2 into reg D2 
  306. ' this is the mode we want to use for our 'lock':
  307. ' mode dreg(2) = -1 writing, only calling task allowed 
  308. ' mode dreg(2) = -2 reading, all task may acces file 
  309. D1=Doscall(-84) : Rem Lock   call 'lock = Lock ( name, mode) 
  310. '                                   D0  =  -84    D1    D2 
  311. ' D0 (called variabele D1 here :-) contains the address of the 
  312. ' file-handle for the system 
  313. ' or 0 if the file could not be found or something else went wrong 
  314. If D1<>0 : Rem                    not zero, we made it    
  315.    Dreg(1)=D1 : Rem               put 'Lock' in D1 for use with 'Examine'  
  316.    Reserve As Work 6,260 : Rem    workspace for 'fileinfo block'  
  317. ' in C one would 'allocmem' memory for this purpose
  318.    Dreg(2)=Start(6) : Rem         addres of space in D2  
  319.    D2=Doscall(-102) : Rem         Examine, i.e. read the fileinfoblock 
  320.    If D2<>0 : Rem                 if this was ok (not zero)  
  321.       Do 
  322.          Dreg(1)=D1 : Rem         put 'Lock' in D1 again 
  323.          Dreg(2)=Start(6) : Rem   address of 'free space' again  
  324.          D2=Doscall(-108) : Rem   Exnext
  325. ' (i.e. read the next file in the dir)
  326.          Exit If D2=0 : Rem       not succesfull (last file or worse)  
  327.          R=Start(6)+8 : A$="" : Rem  get filename (from pos 8 onward)
  328. ' in Apro one can use the Peek$ - statement of course: 
  329. ' A$=peek$(Start(6),30,chr$(0)) 
  330. ' I do *NOT* know where the filename actually is in this datastruct,
  331. ' if anyone knows: say so!
  332.          Repeat : A$=A$+Chr$(Peek(R)) : Inc R : Until Peek(R)=0
  333. ' so a$ now contains the filename! 
  334.          If Right$(A$,5)<>".info" : Rem leave out the .info's
  335.             If Leek(Start(6)+4)<0 : Rem is this a file ? 
  336.                Print Paper$(1);A$ : Rem yep, file
  337.             Else 
  338.                Print Paper$(0);A$ : Rem directory... 
  339.             End If 
  340.          End If 
  341.       Loop 
  342.    End If 
  343. End If 
  344.  
  345. ---------------------------------------------------------------
  346. Martijn Wehrens, Theoretical Chemistry Group Utrecht University
  347. email m.g.d.wehrens@chem.ruu.nl          
  348. ---------------------------------------------------------------
  349.  
  350. F
  351. X-Status: 
  352.  
  353.  
  354.     Just incase some of you were wondering about my alias.....
  355.  
  356. My real name is Tim Lewis.
  357. My alias is Eddie.
  358.  
  359. Why?  Well, I'm a big fan of Iron Maiden and for those of you who don't know
  360. they have a mascot called "Eddie"!!!!  One things leads to another, advocacy
  361. upon my part and then, what do you know!  I end up with the nickname of ...
  362.  
  363.     See if you can guess .....
  364.  
  365.     Thats right Eddie!!!! :-)
  366.  
  367. This might sound extremely sad & on reflection it is.  Then again I don't
  368. really care!!!!  Up the Irons!
  369.  
  370. AND NOW A MORE RELEVANT MESSAGE ...........
  371.  
  372.     The AMOS scroll routine sucks!  I need to scroll an area of screen which
  373. is about 154x154 pixels.  This needs to be done STRICTLY within these limits.
  374. I can't use dual screens either because of the necessary display of this
  375. screen.  Are there any clever bods out there who can (or want!) to tell me how
  376. to this by screen memory copying etc.  I know it can be done, but I don't
  377. really have the spare time to do it myself!!
  378.  
  379.     Any other solutions would also be appreciated.  It might send my mind
  380. racing of in a new direction.
  381.  
  382.     I'm writing a LARGE!!! RPG at the moment.  I should hopefully have a Beta
  383. test version sometime over summer!  If anyone is interested .....  If anyone
  384. has any ideas about what they would like to see in an RPG then let me know.
  385. I will try and incorporate them if I can.  I do need some fast scrolling
  386. routines though.  HELP!!!!!!!
  387.  
  388. A POINT TO REFLECT UPON...........
  389.  
  390.     They may have been a good side to the C= liquidation.  Did you notice the
  391. frequency of all the new stuff uploaded to Aminet increased since that
  392. infamous start of procedings! :-)  Every cloud has a silver lining.
  393.  
  394. Long Live The AMIGA!
  395.  
  396. Tim.
  397.  
  398. F
  399. X-Status: 
  400.  
  401. I need a GET statement for AMOS Pro.  The a$=Input$(2,1) instruction will read
  402. a single character from a file, but it WAITS until something is entered.
  403.  
  404. I need something that will check a file for a single character and GO ON if
  405. there is nothing there.
  406.  
  407. In any normal basic, Get #2, A$ would work, but AMOS has no comparable
  408. instruction that I can find.  I tried using:
  409. Do
  410. Z=Eof(2)
  411. if Z=True Then Loop
  412. A$=Input$(2,1)
  413.  
  414. But Z is ALWAYS true, so this method doesn't work either.
  415.  
  416. The program is monitoring the STDIN channel and waiting for a key.  I am trying
  417. to make it so that the routine doesn't hang if there is no input from STDIN.  I
  418. need a `Get a single byte, go on if nothing there' instruction.
  419.  
  420. Well met and godspeed,
  421.                       Giark
  422.  
  423. F
  424. X-Status: 
  425.  
  426. Hi everyone, the other day somebody sent to the list a routine that reads
  427. in a directory from a disk, what I would like to know, is can this routine
  428. be modified to get the size of the files in the directory as well? If somebody
  429. could help me with this I would appreciate it.
  430.  
  431. Cori Skagen
  432. (s93044370@acs.saultc.on.ca)
  433.  
  434.  
  435. F
  436. X-Status: 
  437.  
  438. 91211448@brookes.ac.uk (ryan nicholas d) wrote on 16.05.1995 some
  439. text under the subject WB + CLI Compiled code.. I can't leave this
  440. uncommentated ;-)
  441.  
  442. rd> The problem is this, I've been trying to get tool-types working for an Amos
  443. rd> prog, but for some utterly weird reason, it doesn't seem to work. I would
  444.  
  445. Mine works ;-) The only stupid thing was to find out the name of the
  446. own program.
  447.  
  448. rd> usually throw MonAn (Monitor/Debugger that came with DevPac3) at the task, but
  449. rd> the code I wrote to read the tool types is in an included asm procedure, and I
  450. rd> would have to run through the entire Amos -startup code (ie crap) before
  451. rd> getting anywhere near where I am.
  452.  
  453. Just set an 'Illegal' asm command just before your tool types code,
  454. then assemble it again and feed it into a procedure... save and start
  455. monam... run through, until you come to this illegal exception and
  456. then press Ctrl-S to skip it... then you are on the very right point
  457. and you can debug your code as you like to ;-)
  458.  
  459. rd> Help! Has anybody got this working - and no, I've looked - Easylife doesn't
  460. rd> *seem* to have it.
  461.  
  462. Yes. :-)
  463.  
  464. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  465. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  466. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  467. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  468. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  469.  
  470. Banteer (n.)
  471.   (Archaic) A lusty and raucous old ballad sung after a particularly
  472.   spectacular araglin (q.v) has been pulled off.
  473. (from: "The Deeper Meaning of Liff")
  474.  
  475. F
  476. X-Status: 
  477.  
  478.  
  479. Hi everyone!
  480.  
  481. Does anyone know how to do the equivalent of an "avail flush" in AmosPro? 
  482.  
  483. I have a game that plays music using Paul Reece's Enhanced Music 
  484. Extension v4.64.  I find that if I play the game after I've been using 
  485. my Amiga for a while, the music causes random bits of garbled graphics 
  486. to show up on my screen - obviously these are unused bits of data lurking 
  487. in memory.  If I do an "avail flush" in CLI and then run the game, there 
  488. is no flickering.
  489.  
  490. So does anyone know how to flush memory? I'd welcome any help :))
  491.  
  492. *wave*
  493. Stuart.
  494.  
  495.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  496.     Stuart Matthews - University of Queensland - co314519@student.uq.edu.au  
  497.  
  498.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  499.  
  500.  
  501. F
  502. X-Status: 
  503.  
  504.  
  505.  
  506. > The program is monitoring the STDIN channel and waiting for a key.  I am trying
  507. > to make it so that the routine doesn't hang if there is no input from STDIN.  I
  508. > need a `Get a single byte, go on if nothing there' instruction.
  509. >
  510.  
  511. Easylife has an instruction to do this, but I can't for the life of 
  512. me remember what I called it - It probably begins with "El", but 
  513. after that its anyones guess although to syllables "in" and "get" 
  514. probably feature somewhere in it :-). Look in the manual under 
  515. AmigaDos commands. 
  516.  
  517. --------------------------------------------------------
  518.  WORK: Eurotherm Controls, Worthing                     
  519.  Email: paul.hickman@controls.eurotherm.co.uk           
  520.                                                         
  521.  UNIVERSITY: Imperial College, London                      
  522.  Email: ph@doc.ic.ac.uk                                 
  523. --------------------------------------------------------
  524. The opinions expressed above to not represent the views of
  525. Eurotherm Controls plc, or Imperial College, or in fact Paul
  526. Hickman, but are in fact the views of a small furry alien from
  527. the planet zorg (called fred), so if you don't like them, sue 
  528. him/her/whatever. Death to all tennis players.
  529.  
  530. F
  531. X-Status: 
  532.  
  533.  
  534. > Subject:       load_lib
  535. > To:            amos-list@access.digex.net (Amos-Mailing-List)
  536. > Date:          Thu, 18 May 95 12:11:46 METDST
  537. > From:          m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens)
  538. > Reply-to:      m.g.d.wehrens@chem.ruu.nl
  539.  
  540. [cut]
  541.  
  542. > To open a library you'd think that a simple call to 
  543. > call _exebase-552
  544. > and having set the a1 and d0 registers would work. Not so.
  545. > It will crash. Only calls to a library function that does NOT
  546. > need parameters will work.
  547. > What does this suggest ?, well clearly the 'Call' command does
  548. > not seem to be interested in the areg and dreg-settings.
  549. Call does read the Areg & Dreg settings, but it also expects the 
  550. routine called to preserve the values in registers A3-A6. Most 
  551. library routines will not do this so AMOS may crash after calling 
  552. them. LibCall knows this and stores the registers first. Also, some 
  553. libraries except to be called with their own base in register A6, and 
  554. call would not do this.
  555.  
  556. > Does anyone know if this can be overcome easily or do I have
  557. > to use a 'bank' with some MOVE.L's to registers and THEN the
  558. > call ? (rather bothersome I guess and close to the AmosPro
  559. > Lib Call command!)
  560.  
  561. Thats the best way. You can of course make use of the fact that the 
  562. call command can take additional parameters which are placed on a 
  563. stack off register A3 to pass the library base & offset of the 
  564. routine to call. E.g. If the AMOS Code was "Call BNKNO,LIBBASE,OFFSET"
  565.  
  566. The bank code would be
  567.  
  568.     move.l    (a3)+,d7    ;d7=offset
  569.     add.l        (a3)+,d7    ;d7=address to call
  570.     movem.l    a3-6,-(sp)    ;Preserve registers
  571.     move.l    d7,a6
  572.     jsr        (a6)
  573.     movem.l    (sp)+,a3-6
  574.     rts
  575.  
  576. NOTE: This assumes the library call does not use register D7, but I 
  577. think your safe for most calls.
  578. --------------------------------------------------------
  579.  WORK: Eurotherm Controls, Worthing                     
  580.  Email: paul.hickman@controls.eurotherm.co.uk           
  581.                                                         
  582.  UNIVERSITY: Imperial College, London                      
  583.  Email: ph@doc.ic.ac.uk                                 
  584. --------------------------------------------------------
  585. The opinions expressed above to not represent the views of
  586. Eurotherm Controls plc, or Imperial College, or in fact Paul
  587. Hickman, but are in fact the views of a small furry alien from
  588. the planet zorg (called fred), so if you don't like them, sue 
  589. him/her/whatever. Death to all tennis players.
  590.  
  591. F
  592. X-Status: 
  593.  
  594.  
  595.  
  596. >   --Andy Church (achurch@goober.mbhs.edu)
  597. >     WWW: http://www.mbhs.edu/~achurch/
  598.  
  599. A friend of mine sent me the Demo version 1.3 of your extension.
  600. I have tried it. But I didn't work. I had an message saying that tha Amos 
  601. could not loaded the extension and to use the default configuration.
  602. This before I started SnoopDos to see where the Amos failed. The strange 
  603. thing is that the extension was loaded!
  604. I repeated the event. Without SnoopDOs... nothing. Whith snoopdos running 
  605. (and so delaying everything) Amos loaded the extension and started 
  606. normally, but seeing the about on the loaded extension didn't give any 
  607. name in the slot n14. The extension was there but his name not.
  608. What's wrong? It is a regular thing (I think it is not !)?
  609. Has the registered version the same problems?
  610.  
  611. Has anyone had my problems?
  612.  
  613. THanks
  614.  
  615. MeF
  616.  
  617. F
  618. X-Status: 
  619.  
  620. Hi,
  621.  
  622. Ciro Skagen wrote:
  623.  
  624. ... a routine that reads in a directory from a disk, what I would 
  625.  like to know, is can this routine ... size of the files
  626.  
  627. Yes, it can.
  628.  
  629. When the 'Examine'-call is made, the 'FileInfoBlock' is read
  630. This block is the header of the file and contains all information
  631. about the file such as the protection flags, the size, the time and
  632. date and the filenote.
  633. So all the information is already in the bank when the filename is read
  634. from it.
  635. I do not know where what information is stord, however :-(
  636. But I try to print some more of the bank used and find the place
  637. where the size of the file is kept in it.
  638.  
  639. ---------------------------------------------------------------
  640. Martijn Wehrens, Theoretical Chemistry Group Utrecht University
  641. email m.g.d.wehrens@chem.ruu.nl          
  642. ---------------------------------------------------------------
  643.  
  644. F
  645. X-Status: 
  646.  
  647. Hi all,
  648.  
  649. The other day, Tumu / BFB team <tumu@janus.otol.fi
  650. posted a message containing the code needed to make use of the
  651. reqtools requesters rtezrequest and rtfilrequest. They used a function
  652.  
  653. _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  654.  
  655. in their code. I suppose this is to do a 'allocmem' from exec and this
  656. can be done without the extension they propose. The easiest way is
  657. to make use of :
  658.  
  659. Reserve as work 6,108
  660. Poke$ Start(6),String$(chr$(0),108)
  661. _RTFILENAMEPRT=Start(6)
  662.  
  663. Further, they use the Elmem$ functions to read out the text, this
  664. can also be done with:
  665.  
  666. _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  667.  
  668. which leads to the exact same result. However, there may be a reason
  669. to do this as they did, if there is: Please post a message explaining
  670. why!
  671.  
  672. Also:
  673. I use the following code in my program to create an intuition-screen
  674. and replace the bitmap-pointers with the ones from the amos-screen.
  675. That way, you'll see your amos-screen in the intuiscreen, and thus it
  676. should be possible to have the reqtools on your amos-screen. After
  677. the requesters are done, you can put the intuiscreen away.
  678. There are two serious flaws in this design (other than the ones you
  679. might detect :-) 
  680. a) the openscreen-call will create two bitmaps i don't use.
  681.    (this can be overcome because the bitmaps can buffer the
  682.     amos-screen but it costs some chipmem...)
  683. b) Nico Francois clearly states in his documents on RT that one
  684.    should *not* use the 'screen'-tag to decide on which screen the
  685.    requester is to come. One should use 'pubscreen' instead.
  686. The problem is: how do I set the 'screen'-tag in the taglist or what
  687. ever it is called in amos ? I studied the c-source 'demo.c'-file in the
  688. distribution but I have no idea where I must 'loke' my screen-base in
  689. order to have RT recognize it.
  690.  
  691. Anyone ?
  692.  
  693. code:
  694. -------------------------------------------------------------snap---
  695. Screen Open 0,640,256,4,Hires : Paper 0 : Pen 1 : Cls 0
  696. _INTSCR[0,640,200,2,"My Screen"]
  697. SCR=Param
  698. Amos To Back 
  699. Dir 
  700. '
  701. Lib Open 1,"reqtools.library",0
  702. _RTEZREQUEST["Pull the screen!","return to amos"," "]
  703. Lib Close 
  704. '
  705. Amos To Front 
  706. 'opruimen met close-screen 
  707. Areg(0)=SCR : If SCR=0 Then End 
  708. OK=Intcall(-66)
  709. '------------------------------------------- 
  710. Procedure _INTSCR[NR,_WIDTH,_HEIGHT,_PLANES,NAM$]
  711. 'struct newscreen
  712.    Reserve As Work 6,32 : S=Start(6)
  713.    Doke S,0 : Add S,2
  714.    Doke S,0 : Add S,2
  715.    Doke S,_WIDTH : Add S,2
  716.    Doke S,_HEIGHT : Add S,2
  717.    Doke S,_PLANES : Add S,2
  718.    Poke S,0 : Inc S
  719.    Poke S,1 : Inc S
  720.    Doke S,32768 : Add S,2 : Rem screen mode(hires) 
  721.    Doke S,15 : Add S,2
  722.    Loke S,$0 : Add S,4
  723.    A$=NAM$+Chr$(0) : FRE=Free
  724.    Loke S,Varptr(A$) : Add S,4
  725.    Loke S,$0 : Add S,4
  726.    Loke S,$0 : Rem end of struct  
  727. '
  728. Areg(0)=Start(6) : Rem where to find 'struct newscreen'   
  729. SCR=Intcall(-198) : Rem openscreen   
  730.  
  731.    If SCR=0 Then Pop Proc[SCR] : Rem something is wrong!  
  732.    Erase(6) : Rem trash 'struct newscreen'   
  733.    Amos To Back 
  734. 'set bit for 'Custom Bit Map'
  735.    Doke SCR+20,Deek(SCR+20) or %1000000
  736. 'now to open an amos-screen of requested size: 
  737.    Screen Open NR,_WIDTH,_HEIGHT,2^_PLANES,Hires
  738.    Cls 0 : Pen 1 : Paper 0
  739.    SB=Screen Base : Rem get address for planes   
  740.    For R=0 To _PLANES-1
  741.       Loke SCR+184+8+R*4,Leek(SB+R*4) : Rem   replace bitmap-pointers  
  742.    Next 
  743.    Areg(0)=SCR
  744.    OK=Intcall(-252) : Rem  screen to front   
  745.    OK=Intcall(-384) : Rem  remake display (to see change)  
  746. End Proc[SCR]
  747. Procedure _RTEZREQUEST[_REQ$,_GADS$,_TITLE$]
  748.    Dreg(0)=1
  749.    Areg(0)=0
  750.    RES=Lib Call(1,-$1E) : Rem make buffer
  751.    If RES=0 Then Pop Proc[-1]
  752.    ' 0 for filereq
  753.    ' 1 for easy req.
  754.    ' 2 font 
  755.    ' 3 screen 
  756.    Areg(1)=Varptr(_REQ$)
  757.    Areg(2)=Varptr(_GADS$)
  758.    Areg(3)=RES
  759.    Areg(4)=0
  760.    Areg(0)=0
  761.    X=Free : Rem make sure the only _title$ is this one 
  762.    Loke _REQBUFFER+12,Varptr(_TITLE$)
  763.  
  764.    RES2=Lib Call(1,-$42) : Rem ezrequest
  765.  
  766.    Areg(1)=_REQBUFFER
  767.    RES3=Lib Call(1,-$24) : Rem clear reqbuffer
  768. End Proc[RES2]
  769. --------------------------------------------------------------
  770.  
  771. Anyone, please ?
  772.  
  773. ---------------------------------------------------------------
  774. Martijn Wehrens, Theoretical Chemistry Group Utrecht University
  775. email m.g.d.wehrens@chem.ruu.nl          
  776. ---------------------------------------------------------------
  777.  
  778. F
  779. X-Status: 
  780.  
  781.     Can anyone tell me where to obtain Paul Reeces music extension? I am 
  782. currently running Amos Creator 1.34 or something like that with the supplied
  783. music extension. Can Paul Reece's work in Amos Creator? What differences are
  784. there between the two? Any bugs I should know about? Are there any large 
  785. memory consumption differences?
  786.  
  787.     I know, many many questions, but I'm a questionable kind of guy so if
  788. anyone has answers to the above, please let me know!
  789.  
  790.             Robert Currie
  791.  
  792. p.s. Is anyone interested in playtesting an Eye of Beholder style modular
  793. RPG game that was created in Amos?
  794.  
  795. F
  796. X-Status: 
  797.  
  798. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 18.05.1995 some
  799. text under the subject readdir. I can't leave this uncommentated ;-)
  800.  
  801. MW>          R=Start(6)+8 : A$="" : Rem  get filename (from pos 8 onward)
  802. MW> ' in Apro one can use the Peek$ - statement of course: 
  803. MW> ' A$=peek$(Start(6),30,chr$(0)) 
  804.  
  805. Shouldn't it be:
  806.  
  807. A$=Peek$(R,30,Chr$(0))
  808.  
  809. or
  810.  
  811. A$=Peek$(Start(6)+8,30,Chr$(0))
  812.  
  813. MW> ' I do *NOT* know where the filename actually is in this datastruct,
  814. MW> ' if anyone knows: say so!
  815.  
  816.  STRUCTURE FileInfoBlock,0
  817.    LONG    fib_DiskKey      ;
  818.    LONG    fib_DirEntryType ; Type of Directory. If < 0, then a plain
  819. file.
  820.                 ; If > 0 a directory
  821.    STRUCT fib_FileName,108  ; Null terminated. Max 30 chars used for
  822. now
  823.    LONG   fib_Protection    ; bit mask of protection, rwxd are 3-0.
  824.    LONG   fib_EntryType
  825.    LONG   fib_Size          ; Number of bytes in file
  826.    LONG   fib_NumBlocks     ; Number of blocks in file
  827.    STRUCT fib_DateStamp,ds_SIZEOF ; Date file last changed.
  828.    STRUCT fib_Comment,80    ; Null terminated. Comment associated
  829. with file
  830.  
  831.    ; Note: the following fields are not supported by all filesystems.
  832.    ; They should be initialized to 0 sending an ACTION_EXAMINE
  833. packet.
  834.    ; When Examine() is called, these are set to 0 for you.
  835.    ; AllocDosObject() also initializes them to 0.
  836.    UWORD  fib_OwnerUID      ; owner's UID
  837.    UWORD  fib_OwnerGID      ; owner's GID
  838.  
  839.    STRUCT fib_Reserved,32
  840.    LABEL  fib_SIZEOF        ; FileInfoBlock
  841.  
  842. MW>          Repeat : A$=A$+Chr$(Peek(R)) : Inc R : Until Peek(R)=0
  843. MW> ' so a$ now contains the filename! 
  844.  
  845. I don't understand the meaning of this line... the other things
  846. should work... ;-)
  847.  
  848. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  849. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  850. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  851. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  852. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  853.  
  854. Abwong (vb.)
  855.    To bounce cheerfully on a bed.
  856. (from: "The Deeper Meaning of Liff")
  857.  
  858. F
  859. X-Status: 
  860.  
  861. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 18.05.1995 some
  862. text under the subject load_lib. I can't leave this uncommentated ;-)
  863.  
  864. MW> Does anyone know if this can be overcome easily or do I have
  865.  
  866. No. AMOS requires the registers A3-A6 and D6/D7 to be unmodified and
  867. many library calls *require* the library base address in A6...
  868.  
  869. I had the same problems, and so I wrote some workaround...
  870.  
  871. Long time ago, I tried this and it worked (although you could do some
  872. optimations)...
  873.  
  874. main
  875. .dr0    ds.l    14
  876. .ar6    dc.l    0
  877. .rout   dc.l    0
  878.     movem.l d0-d7/a0-a6,-(sp)
  879.     lea     .ende(pc),a0
  880.     move.l  a0,-(sp)
  881.     lea     .dr0(pc),a6
  882.     move.l  (a6)+,d0
  883.     move.l  (a6)+,d1
  884.     move.l  (a6)+,d2
  885.     move.l  (a6)+,d3
  886.     move.l  (a6)+,d4
  887.     move.l  (a6)+,d5
  888.     move.l  (a6)+,d6
  889.     move.l  (a6)+,d7
  890.     move.l  (a6)+,a0
  891.     move.l  (a6)+,a1
  892.     move.l  (a6)+,a2
  893.     move.l  (a6)+,a3
  894.     move.l  (a6)+,a4
  895.     move.l  (a6)+,a5
  896.     move.l  (a6)+,a6
  897.     move.l  .ar6(pc),a6
  898.     move.l  .rout(pc),-(sp)
  899.     rts
  900. .ende   lea     .ar6(pc),a6
  901.     move.l  a5,-(a6)
  902.     move.l  a4,-(a6)
  903.     move.l  a3,-(a6)
  904.     move.l  a2,-(a6)
  905.     move.l  a1,-(a6)
  906.     move.l  a0,-(a6)
  907.     move.l  d7,-(a6)
  908.     move.l  d6,-(a6)
  909.     move.l  d5,-(a6)
  910.     move.l  d4,-(a6)
  911.     move.l  d3,-(a6)
  912.     move.l  d2,-(a6)
  913.     move.l  d1,-(a6)
  914.     move.l  d0,-(a6)
  915.     movem.l (sp)+,d0-d7/a0-a6
  916.     rts
  917.  
  918. I assembled it and saved it into a bank... the first 15 longwords
  919. hold the data registers d0 to d7 and a0-a6...
  920.  
  921. The address of the routine to call is placed in the 16th longword
  922. (i.e LibBase+Offset)
  923.  
  924. The results can be read out from the same addresses the registers
  925. were written into...
  926.  
  927. Then a wrote some library-procedures that allowed librarycalls in a
  928. way like:
  929.  
  930. OPENLIB["dos"]
  931. LIBCALL2["dos","Lock",Varptr(NAME$),-2]
  932. LOCK=RES : If LOCK=0 Then Print "ERROR!" : Return
  933. LIBCALL2["dos","Examine",LOCK,Start(9)]
  934. If RES=0 Then Print "Empty!" : LIBCALL1["dos","Unlock",LOCK] : Return
  935. ...
  936.  
  937. It was rather slow (due of the offset search), but it worked...
  938.  
  939.  
  940. MW> Also, does anyone know what place to put the 'bitmap'-struct when
  941. MW> using amos ?
  942.  
  943. Hmm... I don't really know what you mean... give me some more
  944. information please :)
  945.  
  946. MW> I tried opening a screen with intuition and intcall. Works ok.
  947. MW> Then I supply the screenbase with 'CUSTOM-BITMAP' (bit 6 of some offset)
  948.  
  949. Are you opening the screen using CUSTOM_BITMAP or hacking it into
  950. afterwards?
  951.  
  952. MW> and then I open an Amos-screen with the same dimension and put use:
  953. MW> loke (scr_base+184+8),leek (screen base)
  954. MW> loke (scr_base+184+12),leek (screen base+4)
  955.  
  956. You should use logbase(x) though...
  957.  
  958. MW> to replace the pointers of the bitmap to my own amos-bitmaps
  959. MW> Works fine, when a 'rethinkdisplay' is called it shows the contents of
  960. MW> the amos-screen in the intuition-screen.
  961. MW> But this way, I trash the two bitplanes from the original intuition
  962. MW> screen!
  963.  
  964. There a other way round... there *are* intuition elements and
  965. structures for a AMOS screen already (rastport, bitmap, layer and
  966. layerregion). Why not implement them directly into a intuition
  967. screen?
  968.  
  969. MW> (This way of putting an amos-screen in an intuitionscreen is VERY use-
  970. MW> full because the REQTOOL-requester will appear on your 'amos-screen'
  971. MW> in intuition, however, you'll have to rebuild you bitmap).
  972.  
  973. You're right... But it is very useless to write intuition programs
  974. using amos because
  975. a) you create executables of huge size.
  976. b) you need a lot of system experience
  977. c) you could write it more easyly in C++.
  978. d) AMOS causes a overhead which requires more processor time.
  979. e) AMOS programs do not multitask (i.e if you start two amos
  980. programs, one will be frozen)
  981.  
  982. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  983. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  984. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  985. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  986. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  987.  
  988. Acklings (pl.n.)
  989.   The odd twinges you get in parts of your body when you scratch
  990.   other parts.
  991. (from: "The Deeper Meaning of Liff")
  992.  
  993. F
  994. X-Status: 
  995.  
  996. mike.pelletier@canrem.com (Mike Pelletier) wrote on 18.05.1995 some
  997. text under the subject Get. I can't leave this uncommentated ;-)
  998.  
  999. MP> I need something that will check a file for a single character and GO ON if
  1000. MP> there is nothing there.
  1001.  
  1002. Note that this will work only on RAW: Windows, not on CON: as they
  1003. only send their characters after a linefeed...
  1004.  
  1005. MP> The program is monitoring the STDIN channel and waiting for a key.  I am trying
  1006. MP> to make it so that the routine doesn't hang if there is no input from STDIN.  I
  1007. MP> need a `Get a single byte, go on if nothing there' instruction.
  1008.  
  1009. I added a procedure to my STDINOUT assigning program... note that it
  1010. will take the STDOUT for text input and a raw console for keyboard
  1011. input...
  1012.  
  1013. Amos To Back 
  1014. _ASSIGNSTDOUT[1]
  1015. '_ASSIGNSTDIN[2] 
  1016. Open In 2,"RAW:/200//100/RAW-Console/AUTO/WAIT/CLOSE"
  1017. Print #1,"Please enter a string: ";
  1018. T$=""
  1019. Do 
  1020.   ' The syntax for _WAITFORCHAR is channel,timeout
  1021.   _WAITFORCHAR[2,50000]
  1022.   BOOL=Param
  1023.   If Not BOOL
  1024.     Print #1,".";
  1025.   Else 
  1026.     A$=Input$(2,1)
  1027.     Exit If A$=Chr$(27)
  1028.     Print #1,Chr$(10);"You pressed a key: ";A$;Chr$(10);
  1029.     T$=T$+A$
  1030.   End If 
  1031.   If Inkey$=Chr$(27) Then Exit 
  1032. Loop 
  1033. _REMSTD[1]
  1034. '_REMSTD[2]
  1035. Close 2
  1036. Amos To Front 
  1037. Print "You typed: ";T$
  1038. End 
  1039. Procedure _ASSIGNSTDIN[CHAN]
  1040.   If CHAN<1 or CHAN>8 Then Error 23
  1041.   STIN=Doscall(-54)
  1042.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1043.   If Leek(AD)<>0 Then Error 96
  1044.   Loke AD,STIN : Doke AD+4,$200 : Loke AD+6,0
  1045. End Proc
  1046. Procedure _ASSIGNSTDOUT[CHAN]
  1047.   If CHAN<1 or CHAN>8 Then Error 23
  1048.   STIN=Doscall(-60)
  1049.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1050.   If Leek(AD)<>0 Then Error 96
  1051.   Loke AD,STIN : Doke AD+4,$100 : Loke AD+6,0
  1052. End Proc
  1053. Procedure _REMSTD[CHAN]
  1054.   If CHAN<1 or CHAN>8 Then Error 23
  1055.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1056.   If Leek(AD)=0 Then Error 97
  1057.   Loke AD,0 : Doke AD+4,0 : Loke AD+6,0
  1058. End Proc
  1059.  
  1060. 'This is the new procedure:
  1061.  
  1062. Procedure _WAITFORCHAR[CHAN,TIMOUT]
  1063.   If CHAN<1 or CHAN>8 Then Error 23
  1064.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1065.   If Leek(AD)=0 Then Error 97
  1066.   Dreg(1)=Leek(AD)
  1067.   Dreg(2)=TIMOUT
  1068.   RES=Doscall(-$CC)
  1069. End Proc[RES]
  1070.  
  1071. Note that again you should not break the program... use the ESC key
  1072. instead...
  1073. (otherwise type Loke Areg(5)+$8BC,0 in the direct mode immediately
  1074. after the interruption)
  1075.  
  1076. I hope this will help you out a bit...
  1077.  
  1078. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1079. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1080. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1081. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1082. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1083.  
  1084. Albacete (n.)
  1085.   A single surprisingly long hair growing in the middle of nowhere.
  1086. (from: "The Deeper Meaning of Liff")
  1087.  
  1088. F
  1089. X-Status: 
  1090.  
  1091. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 19.05.1995 some
  1092. text under the subject rtez_on_myscreen?. I can't leave this
  1093. uncommentated ;-)
  1094.  
  1095. MW> The problem is: how do I set the 'screen'-tag in the taglist or what
  1096. MW> ever it is called in amos ? I studied the c-source 'demo.c'-file in the
  1097. MW> distribution but I have no idea where I must 'loke' my screen-base in
  1098. MW> order to have RT recognize it.
  1099.  
  1100. OpenScreen is obsolete... OpenScreenTagList (V36+) is the one you're
  1101. longing for...
  1102.  
  1103. This a working solution and requires 2.0+:
  1104.  
  1105. ' OpenIntScreen by Chris Hodges (21-May-95)
  1106. Screen Open 0,320,256,32,0
  1107. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  1108. ' Assign TAG list  
  1109. Gosub INITSCREENTAGS
  1110. ' Reserve memory for a colormap structure
  1111. Reserve As Work 14,33*8
  1112. ST=Start(14)
  1113. For A=0 To 31
  1114.   C=Colour(A)
  1115.   Doke ST,A
  1116.   Doke ST+2,(C and $F00)/256
  1117.   Doke ST+4,(C and $F0)/16
  1118.   Doke ST+6,C and $F
  1119.   Add ST,8
  1120. Next 
  1121. Doke ST,-1
  1122. ' Create Taglist... add tags at your choice... 
  1123. TAGSTART
  1124. TAG[SA_QUIET,-1]
  1125. TAG[SA_WIDTH,320]
  1126. TAG[SA_HEIGHT,256]
  1127. TAG[SA_DEPTH,5]
  1128. TAG[SA_TYPE,$F] : Rem CUSTOMSCREEN, $2=PUBSCREEN     
  1129. TAG[SA_BITMAP,Leek(Screen Base+$150)] : Rem AMOS Bitmap structure
  1130. TAG[SA_COLORS,Start(14)]
  1131. TAG[0,0]
  1132. ' Now open the screen... 
  1133. Amos To Back 
  1134. Areg(0)=0 : Areg(1)=Start(15)
  1135. SCR=Intcall(-$264) : Rem OpenScreenTagList
  1136. If SCR<>0
  1137.   ' Draw some thingies on the screen...
  1138.   Gr Writing 0
  1139.   For A=1 To 31
  1140.     Ink A : Text 31-A,100-A,"This is AMOS calling intuition!"
  1141.     Circle 200,170,A
  1142.   Next 
  1143.   ' Provisory "wait left mouse button" routine... no not use 
  1144.   ' in your programs, write system conform replacements please...
  1145.   Repeat : Multi Wait : Until(Peek($BFE001) and 64)=0
  1146.   ' Close screen (or wait until all windows have been closed)
  1147.   Repeat 
  1148.     Areg(0)=SCR : RES=Intcall(-$42) : Multi Wait 
  1149.   Until RES=1
  1150. End If 
  1151. Amos To Front 
  1152. Erase 15
  1153. Erase 14
  1154. End 
  1155. ' Screen Tags... refer to intuition/screens.i includes for detailed  
  1156. ' information on the tags... 
  1157. INITSCREENTAGS:
  1158.   TS=$80000000+33
  1159.   SA_LEFT=TS
  1160.   SA_TOP=TS+1
  1161.   SA_WIDTH=TS+2
  1162.   SA_HEIGHT=TS+3
  1163.   SA_DEPTH=TS+4
  1164.   SA_DETAILPEN=TS+5
  1165.   SA_BLOCKPEN=TS+6
  1166.   SA_TITLE=TS+7
  1167.   SA_COLORS=TS+8
  1168.   SA_ERRORCODE=TS+9
  1169.   SA_FONT=TS+10
  1170.   SA_SYSFONT=TS+11
  1171.   SA_TYPE=TS+12
  1172.   SA_BITMAP=TS+13
  1173.   SA_PUBNAME=TS+14
  1174.   SA_PUBSIG=TS+15
  1175.   SA_PUBTASK=TS+16
  1176.   SA_DISPLAYID=TS+17
  1177.   SA_DCLIP=TS+18
  1178.   SA_OVERSCAN=TS+19
  1179.   SA_OBSOLETE1=TS+20
  1180. ' *BOOLEANS* 
  1181.   SA_SHOWTITLE=TS+21
  1182.   SA_BEHIND=TS+22
  1183.   SA_QUIET=TS+23
  1184.   SA_AUTOSCROLL=TS+24
  1185.   SA_PENS=TS+25
  1186.   SA_FULLPALETTE=TS+26
  1187.   SA_COLORMAPENTRIES=TS+27
  1188.   SA_PARENT=TS+28
  1189.   SA_DRAGGABLE=TS+29
  1190.   SA_EXCLUSIVE=TS+30
  1191.   SA_SHAREPENS=TS+31
  1192.   SA_BACKFILL=TS+32
  1193.   SA_INTERLEAVED=TS+33
  1194.   SA_COLORS32=TS+34
  1195.   SA_VIDEOCONTROL=TS+35
  1196.   SA_FRONTCHILD=TS+36
  1197.   SA_BACKCHILD=TS+37
  1198.   SA_LIKEWORKBENCH=TS+38
  1199.   SA_RESERVED=TS+39
  1200.   SA_MINIMIZEISG=TS+40
  1201. Return 
  1202. Procedure TAGSTART
  1203.   Shared TAGST
  1204.   Reserve As Work 15,128
  1205.   TAGST=Start(15)
  1206. End Proc
  1207. Procedure TAG[TAG,V]
  1208.   Shared TAGST
  1209.   Loke TAGST,TAG : Loke TAGST+4,V : Add TAGST,8
  1210. End Proc
  1211.  
  1212. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1213. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1214. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1215. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1216. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1217.  
  1218. Alltami (n.)
  1219.   The ancient art of being able to balance the hot and cold shower
  1220.   taps.
  1221. (from: "The Deeper Meaning of Liff")
  1222.  
  1223. F
  1224. X-Status: 
  1225.  
  1226. I was trying to come up with an algrorthm the other day to determine the
  1227. most frequently occuring number in a group of numbers.
  1228.  
  1229. ie out of X numbers how many times does such a number occur and what is the
  1230. most frequent number.
  1231.  
  1232. Note: This is different from taking the average 
  1233.  
  1234. I came up with a solution, but it was ugly and very badly coded. I was also
  1235. long!
  1236.  
  1237. Does anyone have any neat answers?
  1238.  
  1239. Darryl
  1240.  
  1241. -- Via DLG Pro v1.0
  1242.  
  1243.  
  1244.                #####\             _             /#####
  1245.                #( )# |          _( )__         | #( )# 
  1246.                ##### |         /_    /         | #####
  1247.                #" "# |     ___m/I_ //_____     | #" "#
  1248.                # O # |____#-x.\ /++m\ /.x-#____| # O #
  1249.                #m.m# |   /" \ ///###\\\ / "\   | #m.m#
  1250.                #####/    ######/     \######    \#####
  1251.  
  1252.                  EX nightclub DJ (currently looking for work)
  1253.  
  1254. F
  1255. X-Status: 
  1256.  
  1257. On Fri, 19 May 1995, Martijn Wehrens wrote:
  1258.  
  1259. > Hi all,
  1260. > The other day, Tumu / BFB team <tumu@janus.otol.fi
  1261. > posted a message containing the code needed to make use of the
  1262. > reqtools requesters rtezrequest and rtfilrequest. They used a function
  1263. > _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  1264. > in their code. I suppose this is to do a 'allocmem' from exec and this
  1265. > can be done without the extension they propose. The easiest way is
  1266. > to make use of :
  1267. > Reserve as work 6,108
  1268. > Poke$ Start(6),String$(chr$(0),108)
  1269. > _RTFILENAMEPRT=Start(6)
  1270. > Further, they use the Elmem$ functions to read out the text, this
  1271. > can also be done with:
  1272. > _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  1273. > which leads to the exact same result. However, there may be a reason
  1274. > to do this as they did, if there is: Please post a message explaining
  1275. > why!
  1276.  
  1277. You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  1278. like using Easylife and Makes lib commands because they are easier to 
  1279. use and Makes lib memory allocation routines are System friendly.
  1280.  
  1281. And I forgotted to mention that you'll need Easylife extension as well if 
  1282. you are going to use original Reqtools routines without modifications.
  1283.  
  1284.     Tumu / BFB Team
  1285.  
  1286.  
  1287. F
  1288. X-Status: 
  1289.  
  1290.  
  1291. > Date:          Fri, 19 May 1995 17:08:38 +1000 (GMT+1000)
  1292. > From:          Stuart Matthews <co314519@student.uq.edu.au>
  1293. > To:            Discussion List <amos-list@access.digex.net>
  1294. > Subject:       Flushing memory in AmosPro
  1295.  
  1296. > Hi everyone!
  1297. > Does anyone know how to do the equivalent of an "avail flush" in AmosPro? 
  1298. Try and allocate an impossibly large amount of memory to a bank - the 
  1299. Amiga OS memory manager will find it cannot, and perform an avail
  1300. flush to try to free the memory. Something like Reserve bank 
  1301. 14,$70000000 should to the trick.
  1302.  
  1303. Or you can execute the "Avail" CLI command from within AMOS!
  1304.   
  1305. --------------------------------------------------------
  1306.  WORK: Eurotherm Controls, Worthing                     
  1307.  Email: paul.hickman@controls.eurotherm.co.uk           
  1308.                                                         
  1309.  UNIVERSITY: Imperial College, London                      
  1310.  Email: ph@doc.ic.ac.uk                                 
  1311. --------------------------------------------------------
  1312. The opinions expressed above to not represent the views of
  1313. Eurotherm Controls plc, or Imperial College, or in fact Paul
  1314. Hickman, but are in fact the views of a small furry alien from
  1315. the planet zorg (called fred), so if you don't like them, sue 
  1316. him/her/whatever. Death to all tennis players.
  1317.  
  1318. F
  1319. X-Status: 
  1320.  
  1321. On Thu, 18 May 1995 S93044370@ACS.SAULTC.ON.CA wrote:
  1322.  
  1323. > Hi everyone, the other day somebody sent to the list a routine that reads
  1324. > in a directory from a disk, what I would like to know, is can this routine
  1325. > be modified to get the size of the files in the directory as well? If somebody
  1326. > could help me with this I would appreciate it.
  1327. > Cori Skagen
  1328. > (s93044370@acs.saultc.on.ca)
  1329.  
  1330. If you wanna find the size of a file just try:
  1331.  
  1332. open in 1,"filename"
  1333. L=Lof(1)
  1334. close 1
  1335.  
  1336. Greg
  1337.  
  1338.  
  1339. F
  1340. X-Status: 
  1341.  
  1342. Does anyone have a script that shows how to use the scenes created with the
  1343. Turbo Plus Scene Editor?
  1344. How can I get the amos list regularly? I don't remember where I down loaded it
  1345. from.
  1346.  
  1347. F
  1348. X-Status: 
  1349.  
  1350. >> Hi everyone, the other day somebody sent to the list a routine that reads
  1351. >> in a directory from a disk, what I would like to know, is can this routine
  1352. >> be modified to get the size of the files in the directory as well? If somebody
  1353. >> could help me with this I would appreciate it.
  1354. >> 
  1355. >It can, just extract the size from file info block returned by 
  1356. >examine/examine next. I don't have the offset to hand, but look in 
  1357. >the dos.h / dos.i file of commodore includes, or any decent C/Asm 
  1358. >programming book for a description of the FIB structure.
  1359. >
  1360. >But why are you doing this - I know AMOS is full of bugs but I've 
  1361. >never had trouble with the DirFirst$() / DirNext$ functions!
  1362.  
  1363. I never had problems with them either, BUT: when you do a 'DirFirst$',
  1364. amos read the entire directory. So there's not much sense in having to
  1365. do a 'DirNext$' other than the patternmatching. (Which is also in
  1366. some extensions..;-) The advantage of reading it using calls is the
  1367. possibillity to realy read one entry at a time and thus allow the 
  1368. (diskette-)user to select an entry before the entire directory is read.
  1369. More like the filerequesters.
  1370.  
  1371. ---------------------------------------------------------------
  1372. Martijn Wehrens, Theoretical Chemistry Group Utrecht University
  1373. email m.g.d.wehrens@chem.ruu.nl          
  1374. ---------------------------------------------------------------
  1375.  
  1376. From svcs1.digex.net!amos-request Mon May 22 09:02:04 1995 remote from cristal
  1377. Return-Path: <amos-request@svcs1.digex.net>
  1378. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  1379.     (Smail3.1.28.1 #3) id m0sDK0G-00006dC; Mon, 22 May 95 09:01 AEST
  1380. Received: by svcs1.digex.net id AA05309
  1381.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 16:09:03 -0400
  1382. Received: from www1.access.digex.net by svcs1.digex.net with SMTP id AA05305
  1383.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 16:09:01 -0400
  1384. Received: from phoenix.inka.de by www1.access.digex.net with SMTP id AB15894
  1385.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 16:07:38 -0400
  1386. Received: from mips.pfalz.de by phoenix.inka.de with bsmtp
  1387.     (Smail3.1.29.1 #13) id m0sDHBr-0004B1C; Sun, 21 May 95 22:01 MET DST
  1388. Received: from kiste.pfalz.de by mips.pfalz.de with cbsmtp
  1389.     (Smail3.1.28.1 #4) id m0sDFIQ-000CnNC; Sun, 21 May 95 20:00 MET DST
  1390. X-Zc-Via: 19950521161212W+1@kiste.pfalz.de
  1391. X-Zc-Via: 19950521123521W+1@sixpack.pfalz.de
  1392. From: chris@sixpack.pfalz.org (Chris Hodges)
  1393. Subject: Re: Get
  1394. Message-Id: <vvw2iMD261aRz1@p22.sixpack.pfalz.org>
  1395. Date: Sun, 21 May 95 09:53:38 CET
  1396. X-Mailer: MicroDot 1.10 [REGISTERED 000261]
  1397. X-Zc-Telefon: V+49-89/8005856
  1398. X-Zc-Post: Kennedystrasse 8; D-82178 Puchheim; Germany
  1399. Path: kiste.pfalz.de!sixpack.pfalz.de
  1400. To: amos-list@access.digex.net
  1401. X-Gateway: ZConnect CL kiste.pfalz.de [Connectline/AmigaOS]
  1402. References: <60.2342.6587.0C1E25F8@canrem.com>
  1403. Status: RO
  1404. X-Status: 
  1405.  
  1406. mike.pelletier@canrem.com (Mike Pelletier) wrote on 18.05.1995 some
  1407. text under the subject Get. I can't leave this uncommentated ;-)
  1408.  
  1409. MP> I need something that will check a file for a single character and GO ON if
  1410. MP> there is nothing there.
  1411.  
  1412. Note that this will work only on RAW: Windows, not on CON: as they
  1413. only send their characters after a linefeed...
  1414.  
  1415. MP> The program is monitoring the STDIN channel and waiting for a key.  I am trying
  1416. MP> to make it so that the routine doesn't hang if there is no input from STDIN.  I
  1417. MP> need a `Get a single byte, go on if nothing there' instruction.
  1418.  
  1419. I added a procedure to my STDINOUT assigning program... note that it
  1420. will take the STDOUT for text input and a raw console for keyboard
  1421. input...
  1422.  
  1423. Amos To Back 
  1424. _ASSIGNSTDOUT[1]
  1425. '_ASSIGNSTDIN[2] 
  1426. Open In 2,"RAW:/200//100/RAW-Console/AUTO/WAIT/CLOSE"
  1427. Print #1,"Please enter a string: ";
  1428. T$=""
  1429. Do 
  1430.   ' The syntax for _WAITFORCHAR is channel,timeout
  1431.   _WAITFORCHAR[2,50000]
  1432.   BOOL=Param
  1433.   If Not BOOL
  1434.     Print #1,".";
  1435.   Else 
  1436.     A$=Input$(2,1)
  1437.     Exit If A$=Chr$(27)
  1438.     Print #1,Chr$(10);"You pressed a key: ";A$;Chr$(10);
  1439.     T$=T$+A$
  1440.   End If 
  1441.   If Inkey$=Chr$(27) Then Exit 
  1442. Loop 
  1443. _REMSTD[1]
  1444. '_REMSTD[2]
  1445. Close 2
  1446. Amos To Front 
  1447. Print "You typed: ";T$
  1448. End 
  1449. Procedure _ASSIGNSTDIN[CHAN]
  1450.   If CHAN<1 or CHAN>8 Then Error 23
  1451.   STIN=Doscall(-54)
  1452.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1453.   If Leek(AD)<>0 Then Error 96
  1454.   Loke AD,STIN : Doke AD+4,$200 : Loke AD+6,0
  1455. End Proc
  1456. Procedure _ASSIGNSTDOUT[CHAN]
  1457.   If CHAN<1 or CHAN>8 Then Error 23
  1458.   STIN=Doscall(-60)
  1459.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1460.   If Leek(AD)<>0 Then Error 96
  1461.   Loke AD,STIN : Doke AD+4,$100 : Loke AD+6,0
  1462. End Proc
  1463. Procedure _REMSTD[CHAN]
  1464.   If CHAN<1 or CHAN>8 Then Error 23
  1465.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1466.   If Leek(AD)=0 Then Error 97
  1467.   Loke AD,0 : Doke AD+4,0 : Loke AD+6,0
  1468. End Proc
  1469.  
  1470. 'This is the new procedure:
  1471.  
  1472. Procedure _WAITFORCHAR[CHAN,TIMOUT]
  1473.   If CHAN<1 or CHAN>8 Then Error 23
  1474.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1475.   If Leek(AD)=0 Then Error 97
  1476.   Dreg(1)=Leek(AD)
  1477.   Dreg(2)=TIMOUT
  1478.   RES=Doscall(-$CC)
  1479. End Proc[RES]
  1480.  
  1481. Note that again you should not break the program... use the ESC key
  1482. instead...
  1483. (otherwise type Loke Areg(5)+$8BC,0 in the direct mode immediately
  1484. after the interruption)
  1485.  
  1486. I hope this will help you out a bit...
  1487.  
  1488. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1489. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1490. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1491. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1492. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1493.  
  1494. Albacete (n.)
  1495.   A single surprisingly long hair growing in the middle of nowhere.
  1496. (from: "The Deeper Meaning of Liff")
  1497.  
  1498. From svcs1.digex.net!amos-request Mon May 22 09:39:12 1995 remote from cristal
  1499. Return-Path: <amos-request@svcs1.digex.net>
  1500. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  1501.     (Smail3.1.28.1 #3) id m0sDKaL-0000MPC; Mon, 22 May 95 09:39 AEST
  1502. Received: by svcs1.digex.net id AA05339
  1503.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 16:09:17 -0400
  1504. Received: from www1.access.digex.net by svcs1.digex.net with SMTP id AA05335
  1505.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 16:09:16 -0400
  1506. Received: from phoenix.inka.de by www1.access.digex.net with SMTP id AA15926
  1507.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 16:07:54 -0400
  1508. Received: from mips.pfalz.de by phoenix.inka.de with bsmtp
  1509.     (Smail3.1.29.1 #13) id m0sDHBr-0004B5C; Sun, 21 May 95 22:01 MET DST
  1510. Received: from kiste.pfalz.de by mips.pfalz.de with cbsmtp
  1511.     (Smail3.1.28.1 #4) id m0sDFIR-000CnTC; Sun, 21 May 95 20:00 MET DST
  1512. X-Zc-Via: 19950521161218W+1@kiste.pfalz.de
  1513. X-Zc-Via: 19950521123521W+1@sixpack.pfalz.de
  1514. From: chris@sixpack.pfalz.org (Chris Hodges)
  1515. Subject: Re: rtez_on_myscreen?
  1516. Message-Id: <vvxYUMD261agz5@p22.sixpack.pfalz.org>
  1517. Date: Sun, 21 May 95 10:29:40 CET
  1518. X-Mailer: MicroDot 1.10 [REGISTERED 000261]
  1519. X-Zc-Telefon: V+49-89/8005856
  1520. X-Zc-Post: Kennedystrasse 8; D-82178 Puchheim; Germany
  1521. Path: kiste.pfalz.de!sixpack.pfalz.de
  1522. To: amos-list@access.digex.net
  1523. X-Gateway: ZConnect CL kiste.pfalz.de [Connectline/AmigaOS]
  1524. References: <9505191257.AA21992@tc6.chem.ruu.nl>
  1525. Status: RO
  1526. X-Status: 
  1527.  
  1528. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 19.05.1995 some
  1529. text under the subject rtez_on_myscreen?. I can't leave this
  1530. uncommentated ;-)
  1531.  
  1532. MW> The problem is: how do I set the 'screen'-tag in the taglist or what
  1533. MW> ever it is called in amos ? I studied the c-source 'demo.c'-file in the
  1534. MW> distribution but I have no idea where I must 'loke' my screen-base in
  1535. MW> order to have RT recognize it.
  1536.  
  1537. OpenScreen is obsolete... OpenScreenTagList (V36+) is the one you're
  1538. longing for...
  1539.  
  1540. This a working solution and requires 2.0+:
  1541.  
  1542. ' OpenIntScreen by Chris Hodges (21-May-95)
  1543. Screen Open 0,320,256,32,0
  1544. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  1545. ' Assign TAG list  
  1546. Gosub INITSCREENTAGS
  1547. ' Reserve memory for a colormap structure
  1548. Reserve As Work 14,33*8
  1549. ST=Start(14)
  1550. For A=0 To 31
  1551.   C=Colour(A)
  1552.   Doke ST,A
  1553.   Doke ST+2,(C and $F00)/256
  1554.   Doke ST+4,(C and $F0)/16
  1555.   Doke ST+6,C and $F
  1556.   Add ST,8
  1557. Next 
  1558. Doke ST,-1
  1559. ' Create Taglist... add tags at your choice... 
  1560. TAGSTART
  1561. TAG[SA_QUIET,-1]
  1562. TAG[SA_WIDTH,320]
  1563. TAG[SA_HEIGHT,256]
  1564. TAG[SA_DEPTH,5]
  1565. TAG[SA_TYPE,$F] : Rem CUSTOMSCREEN, $2=PUBSCREEN     
  1566. TAG[SA_BITMAP,Leek(Screen Base+$150)] : Rem AMOS Bitmap structure
  1567. TAG[SA_COLORS,Start(14)]
  1568. TAG[0,0]
  1569. ' Now open the screen... 
  1570. Amos To Back 
  1571. Areg(0)=0 : Areg(1)=Start(15)
  1572. SCR=Intcall(-$264) : Rem OpenScreenTagList
  1573. If SCR<>0
  1574.   ' Draw some thingies on the screen...
  1575.   Gr Writing 0
  1576.   For A=1 To 31
  1577.     Ink A : Text 31-A,100-A,"This is AMOS calling intuition!"
  1578.     Circle 200,170,A
  1579.   Next 
  1580.   ' Provisory "wait left mouse button" routine... no not use 
  1581.   ' in your programs, write system conform replacements please...
  1582.   Repeat : Multi Wait : Until(Peek($BFE001) and 64)=0
  1583.   ' Close screen (or wait until all windows have been closed)
  1584.   Repeat 
  1585.     Areg(0)=SCR : RES=Intcall(-$42) : Multi Wait 
  1586.   Until RES=1
  1587. End If 
  1588. Amos To Front 
  1589. Erase 15
  1590. Erase 14
  1591. End 
  1592. ' Screen Tags... refer to intuition/screens.i includes for detailed  
  1593. ' information on the tags... 
  1594. INITSCREENTAGS:
  1595.   TS=$80000000+33
  1596.   SA_LEFT=TS
  1597.   SA_TOP=TS+1
  1598.   SA_WIDTH=TS+2
  1599.   SA_HEIGHT=TS+3
  1600.   SA_DEPTH=TS+4
  1601.   SA_DETAILPEN=TS+5
  1602.   SA_BLOCKPEN=TS+6
  1603.   SA_TITLE=TS+7
  1604.   SA_COLORS=TS+8
  1605.   SA_ERRORCODE=TS+9
  1606.   SA_FONT=TS+10
  1607.   SA_SYSFONT=TS+11
  1608.   SA_TYPE=TS+12
  1609.   SA_BITMAP=TS+13
  1610.   SA_PUBNAME=TS+14
  1611.   SA_PUBSIG=TS+15
  1612.   SA_PUBTASK=TS+16
  1613.   SA_DISPLAYID=TS+17
  1614.   SA_DCLIP=TS+18
  1615.   SA_OVERSCAN=TS+19
  1616.   SA_OBSOLETE1=TS+20
  1617. ' *BOOLEANS* 
  1618.   SA_SHOWTITLE=TS+21
  1619.   SA_BEHIND=TS+22
  1620.   SA_QUIET=TS+23
  1621.   SA_AUTOSCROLL=TS+24
  1622.   SA_PENS=TS+25
  1623.   SA_FULLPALETTE=TS+26
  1624.   SA_COLORMAPENTRIES=TS+27
  1625.   SA_PARENT=TS+28
  1626.   SA_DRAGGABLE=TS+29
  1627.   SA_EXCLUSIVE=TS+30
  1628.   SA_SHAREPENS=TS+31
  1629.   SA_BACKFILL=TS+32
  1630.   SA_INTERLEAVED=TS+33
  1631.   SA_COLORS32=TS+34
  1632.   SA_VIDEOCONTROL=TS+35
  1633.   SA_FRONTCHILD=TS+36
  1634.   SA_BACKCHILD=TS+37
  1635.   SA_LIKEWORKBENCH=TS+38
  1636.   SA_RESERVED=TS+39
  1637.   SA_MINIMIZEISG=TS+40
  1638. Return 
  1639. Procedure TAGSTART
  1640.   Shared TAGST
  1641.   Reserve As Work 15,128
  1642.   TAGST=Start(15)
  1643. End Proc
  1644. Procedure TAG[TAG,V]
  1645.   Shared TAGST
  1646.   Loke TAGST,TAG : Loke TAGST+4,V : Add TAGST,8
  1647. End Proc
  1648.  
  1649. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1650. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1651. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1652. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1653. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1654.  
  1655. Alltami (n.)
  1656.   The ancient art of being able to balance the hot and cold shower
  1657.   taps.
  1658. (from: "The Deeper Meaning of Liff")
  1659.  
  1660. From svcs1.digex.net!amos-request Mon May 22 12:42:45 1995 remote from cristal
  1661. Return-Path: <amos-request@svcs1.digex.net>
  1662. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  1663.     (Smail3.1.28.1 #3) id m0sDNRL-0000lAC; Mon, 22 May 95 12:41 AEST
  1664. Received: by svcs1.digex.net id AA10882
  1665.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 18:22:23 -0400
  1666. Received: from mail1.access.digex.net by svcs1.digex.net with SMTP id AA10876
  1667.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 18:22:21 -0400
  1668. Received: from rhea.otol.fi by mail1.access.digex.net with SMTP id AA00213
  1669.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 18:20:50 -0400
  1670. Received: from janus.otol.fi (tumu@janus.otol.fi [193.64.226.249]) by rhea.otol.fi (8.6.12/8.6.9) with ESMTP id BAA07258; Mon, 22 May 1995 01:22:13 +0300
  1671. Received: (from tumu@localhost) by janus.otol.fi (8.6.9/8.6.9) id BAA02571; Mon, 22 May 1995 01:22:11 +0300
  1672. Date: Mon, 22 May 1995 01:22:10 +0300 (EET DST)
  1673. From: Tuomas Lukinmaa <tumu@janus.otol.fi>
  1674. To: Martijn Wehrens <m.g.d.wehrens@chem.ruu.nl>
  1675. Cc: Amos-Mailing-List <amos-list@access.digex.net>
  1676. Subject: Re: rtez_on_myscreen?
  1677. In-Reply-To: <9505191257.AA21992@tc6.chem.ruu.nl>
  1678. Message-Id: <Pine.SUN.3.90.950522010230.2275B-100000@janus.otol.fi>
  1679. Mime-Version: 1.0
  1680. Content-Type: TEXT/PLAIN; charset=US-ASCII
  1681. Status: RO
  1682. X-Status: 
  1683.  
  1684. On Fri, 19 May 1995, Martijn Wehrens wrote:
  1685.  
  1686. > Hi all,
  1687. > The other day, Tumu / BFB team <tumu@janus.otol.fi
  1688. > posted a message containing the code needed to make use of the
  1689. > reqtools requesters rtezrequest and rtfilrequest. They used a function
  1690. > _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  1691. > in their code. I suppose this is to do a 'allocmem' from exec and this
  1692. > can be done without the extension they propose. The easiest way is
  1693. > to make use of :
  1694. > Reserve as work 6,108
  1695. > Poke$ Start(6),String$(chr$(0),108)
  1696. > _RTFILENAMEPRT=Start(6)
  1697. > Further, they use the Elmem$ functions to read out the text, this
  1698. > can also be done with:
  1699. > _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  1700. > which leads to the exact same result. However, there may be a reason
  1701. > to do this as they did, if there is: Please post a message explaining
  1702. > why!
  1703.  
  1704. You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  1705. like using Easylife and Makes lib commands because they are easier to 
  1706. use and Makes lib memory allocation routines are System friendly.
  1707.  
  1708. And I forgotted to mention that you'll need Easylife extension as well if 
  1709. you are going to use original Reqtools routines without modifications.
  1710.  
  1711.     Tumu / BFB Team
  1712.  
  1713.  
  1714. F
  1715. X-Status: 
  1716.  
  1717. mike.pelletier@canrem.com (Mike Pelletier) wrote on 18.05.1995 some
  1718. text under the subject Get. I can't leave this uncommentated ;-)
  1719.  
  1720. MP> I need something that will check a file for a single character and GO ON if
  1721. MP> there is nothing there.
  1722.  
  1723. Note that this will work only on RAW: Windows, not on CON: as they
  1724. only send their characters after a linefeed...
  1725.  
  1726. MP> The program is monitoring the STDIN channel and waiting for a key.  I am trying
  1727. MP> to make it so that the routine doesn't hang if there is no input from STDIN.  I
  1728. MP> need a `Get a single byte, go on if nothing there' instruction.
  1729.  
  1730. I added a procedure to my STDINOUT assigning program... note that it
  1731. will take the STDOUT for text input and a raw console for keyboard
  1732. input...
  1733.  
  1734. Amos To Back 
  1735. _ASSIGNSTDOUT[1]
  1736. '_ASSIGNSTDIN[2] 
  1737. Open In 2,"RAW:/200//100/RAW-Console/AUTO/WAIT/CLOSE"
  1738. Print #1,"Please enter a string: ";
  1739. T$=""
  1740. Do 
  1741.   ' The syntax for _WAITFORCHAR is channel,timeout
  1742.   _WAITFORCHAR[2,50000]
  1743.   BOOL=Param
  1744.   If Not BOOL
  1745.     Print #1,".";
  1746.   Else 
  1747.     A$=Input$(2,1)
  1748.     Exit If A$=Chr$(27)
  1749.     Print #1,Chr$(10);"You pressed a key: ";A$;Chr$(10);
  1750.     T$=T$+A$
  1751.   End If 
  1752.   If Inkey$=Chr$(27) Then Exit 
  1753. Loop 
  1754. _REMSTD[1]
  1755. '_REMSTD[2]
  1756. Close 2
  1757. Amos To Front 
  1758. Print "You typed: ";T$
  1759. End 
  1760. Procedure _ASSIGNSTDIN[CHAN]
  1761.   If CHAN<1 or CHAN>8 Then Error 23
  1762.   STIN=Doscall(-54)
  1763.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1764.   If Leek(AD)<>0 Then Error 96
  1765.   Loke AD,STIN : Doke AD+4,$200 : Loke AD+6,0
  1766. End Proc
  1767. Procedure _ASSIGNSTDOUT[CHAN]
  1768.   If CHAN<1 or CHAN>8 Then Error 23
  1769.   STIN=Doscall(-60)
  1770.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1771.   If Leek(AD)<>0 Then Error 96
  1772.   Loke AD,STIN : Doke AD+4,$100 : Loke AD+6,0
  1773. End Proc
  1774. Procedure _REMSTD[CHAN]
  1775.   If CHAN<1 or CHAN>8 Then Error 23
  1776.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1777.   If Leek(AD)=0 Then Error 97
  1778.   Loke AD,0 : Doke AD+4,0 : Loke AD+6,0
  1779. End Proc
  1780.  
  1781. 'This is the new procedure:
  1782.  
  1783. Procedure _WAITFORCHAR[CHAN,TIMOUT]
  1784.   If CHAN<1 or CHAN>8 Then Error 23
  1785.   AD=Areg(5)+$8BC+(CHAN-1)*10
  1786.   If Leek(AD)=0 Then Error 97
  1787.   Dreg(1)=Leek(AD)
  1788.   Dreg(2)=TIMOUT
  1789.   RES=Doscall(-$CC)
  1790. End Proc[RES]
  1791.  
  1792. Note that again you should not break the program... use the ESC key
  1793. instead...
  1794. (otherwise type Loke Areg(5)+$8BC,0 in the direct mode immediately
  1795. after the interruption)
  1796.  
  1797. I hope this will help you out a bit...
  1798.  
  1799. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1800. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1801. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1802. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1803. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1804.  
  1805. Albacete (n.)
  1806.   A single surprisingly long hair growing in the middle of nowhere.
  1807. (from: "The Deeper Meaning of Liff")
  1808.  
  1809. From svcs1.digex.net!amos-request Mon May 22 09:39:12 1995 remote from cristal
  1810. Return-Path: <amos-request@svcs1.digex.net>
  1811. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  1812.     (Smail3.1.28.1 #3) id m0sDKaL-0000MPC; Mon, 22 May 95 09:39 AEST
  1813. Received: by svcs1.digex.net id AA05339
  1814.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 16:09:17 -0400
  1815. Received: from www1.access.digex.net by svcs1.digex.net with SMTP id AA05335
  1816.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 16:09:16 -0400
  1817. Received: from phoenix.inka.de by www1.access.digex.net with SMTP id AA15926
  1818.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 16:07:54 -0400
  1819. Received: from mips.pfalz.de by phoenix.inka.de with bsmtp
  1820.     (Smail3.1.29.1 #13) id m0sDHBr-0004B5C; Sun, 21 May 95 22:01 MET DST
  1821. Received: from kiste.pfalz.de by mips.pfalz.de with cbsmtp
  1822.     (Smail3.1.28.1 #4) id m0sDFIR-000CnTC; Sun, 21 May 95 20:00 MET DST
  1823. X-Zc-Via: 19950521161218W+1@kiste.pfalz.de
  1824. X-Zc-Via: 19950521123521W+1@sixpack.pfalz.de
  1825. From: chris@sixpack.pfalz.org (Chris Hodges)
  1826. Subject: Re: rtez_on_myscreen?
  1827. Message-Id: <vvxYUMD261agz5@p22.sixpack.pfalz.org>
  1828. Date: Sun, 21 May 95 10:29:40 CET
  1829. X-Mailer: MicroDot 1.10 [REGISTERED 000261]
  1830. X-Zc-Telefon: V+49-89/8005856
  1831. X-Zc-Post: Kennedystrasse 8; D-82178 Puchheim; Germany
  1832. Path: kiste.pfalz.de!sixpack.pfalz.de
  1833. To: amos-list@access.digex.net
  1834. X-Gateway: ZConnect CL kiste.pfalz.de [Connectline/AmigaOS]
  1835. References: <9505191257.AA21992@tc6.chem.ruu.nl>
  1836. Status: RO
  1837. X-Status: 
  1838.  
  1839. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 19.05.1995 some
  1840. text under the subject rtez_on_myscreen?. I can't leave this
  1841. uncommentated ;-)
  1842.  
  1843. MW> The problem is: how do I set the 'screen'-tag in the taglist or what
  1844. MW> ever it is called in amos ? I studied the c-source 'demo.c'-file in the
  1845. MW> distribution but I have no idea where I must 'loke' my screen-base in
  1846. MW> order to have RT recognize it.
  1847.  
  1848. OpenScreen is obsolete... OpenScreenTagList (V36+) is the one you're
  1849. longing for...
  1850.  
  1851. This a working solution and requires 2.0+:
  1852.  
  1853. ' OpenIntScreen by Chris Hodges (21-May-95)
  1854. Screen Open 0,320,256,32,0
  1855. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  1856. ' Assign TAG list  
  1857. Gosub INITSCREENTAGS
  1858. ' Reserve memory for a colormap structure
  1859. Reserve As Work 14,33*8
  1860. ST=Start(14)
  1861. For A=0 To 31
  1862.   C=Colour(A)
  1863.   Doke ST,A
  1864.   Doke ST+2,(C and $F00)/256
  1865.   Doke ST+4,(C and $F0)/16
  1866.   Doke ST+6,C and $F
  1867.   Add ST,8
  1868. Next 
  1869. Doke ST,-1
  1870. ' Create Taglist... add tags at your choice... 
  1871. TAGSTART
  1872. TAG[SA_QUIET,-1]
  1873. TAG[SA_WIDTH,320]
  1874. TAG[SA_HEIGHT,256]
  1875. TAG[SA_DEPTH,5]
  1876. TAG[SA_TYPE,$F] : Rem CUSTOMSCREEN, $2=PUBSCREEN     
  1877. TAG[SA_BITMAP,Leek(Screen Base+$150)] : Rem AMOS Bitmap structure
  1878. TAG[SA_COLORS,Start(14)]
  1879. TAG[0,0]
  1880. ' Now open the screen... 
  1881. Amos To Back 
  1882. Areg(0)=0 : Areg(1)=Start(15)
  1883. SCR=Intcall(-$264) : Rem OpenScreenTagList
  1884. If SCR<>0
  1885.   ' Draw some thingies on the screen...
  1886.   Gr Writing 0
  1887.   For A=1 To 31
  1888.     Ink A : Text 31-A,100-A,"This is AMOS calling intuition!"
  1889.     Circle 200,170,A
  1890.   Next 
  1891.   ' Provisory "wait left mouse button" routine... no not use 
  1892.   ' in your programs, write system conform replacements please...
  1893.   Repeat : Multi Wait : Until(Peek($BFE001) and 64)=0
  1894.   ' Close screen (or wait until all windows have been closed)
  1895.   Repeat 
  1896.     Areg(0)=SCR : RES=Intcall(-$42) : Multi Wait 
  1897.   Until RES=1
  1898. End If 
  1899. Amos To Front 
  1900. Erase 15
  1901. Erase 14
  1902. End 
  1903. ' Screen Tags... refer to intuition/screens.i includes for detailed  
  1904. ' information on the tags... 
  1905. INITSCREENTAGS:
  1906.   TS=$80000000+33
  1907.   SA_LEFT=TS
  1908.   SA_TOP=TS+1
  1909.   SA_WIDTH=TS+2
  1910.   SA_HEIGHT=TS+3
  1911.   SA_DEPTH=TS+4
  1912.   SA_DETAILPEN=TS+5
  1913.   SA_BLOCKPEN=TS+6
  1914.   SA_TITLE=TS+7
  1915.   SA_COLORS=TS+8
  1916.   SA_ERRORCODE=TS+9
  1917.   SA_FONT=TS+10
  1918.   SA_SYSFONT=TS+11
  1919.   SA_TYPE=TS+12
  1920.   SA_BITMAP=TS+13
  1921.   SA_PUBNAME=TS+14
  1922.   SA_PUBSIG=TS+15
  1923.   SA_PUBTASK=TS+16
  1924.   SA_DISPLAYID=TS+17
  1925.   SA_DCLIP=TS+18
  1926.   SA_OVERSCAN=TS+19
  1927.   SA_OBSOLETE1=TS+20
  1928. ' *BOOLEANS* 
  1929.   SA_SHOWTITLE=TS+21
  1930.   SA_BEHIND=TS+22
  1931.   SA_QUIET=TS+23
  1932.   SA_AUTOSCROLL=TS+24
  1933.   SA_PENS=TS+25
  1934.   SA_FULLPALETTE=TS+26
  1935.   SA_COLORMAPENTRIES=TS+27
  1936.   SA_PARENT=TS+28
  1937.   SA_DRAGGABLE=TS+29
  1938.   SA_EXCLUSIVE=TS+30
  1939.   SA_SHAREPENS=TS+31
  1940.   SA_BACKFILL=TS+32
  1941.   SA_INTERLEAVED=TS+33
  1942.   SA_COLORS32=TS+34
  1943.   SA_VIDEOCONTROL=TS+35
  1944.   SA_FRONTCHILD=TS+36
  1945.   SA_BACKCHILD=TS+37
  1946.   SA_LIKEWORKBENCH=TS+38
  1947.   SA_RESERVED=TS+39
  1948.   SA_MINIMIZEISG=TS+40
  1949. Return 
  1950. Procedure TAGSTART
  1951.   Shared TAGST
  1952.   Reserve As Work 15,128
  1953.   TAGST=Start(15)
  1954. End Proc
  1955. Procedure TAG[TAG,V]
  1956.   Shared TAGST
  1957.   Loke TAGST,TAG : Loke TAGST+4,V : Add TAGST,8
  1958. End Proc
  1959.  
  1960. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  1961. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  1962. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  1963. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  1964. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  1965.  
  1966. Alltami (n.)
  1967.   The ancient art of being able to balance the hot and cold shower
  1968.   taps.
  1969. (from: "The Deeper Meaning of Liff")
  1970.  
  1971. From svcs1.digex.net!amos-request Mon May 22 12:42:45 1995 remote from cristal
  1972. Return-Path: <amos-request@svcs1.digex.net>
  1973. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  1974.     (Smail3.1.28.1 #3) id m0sDNRL-0000lAC; Mon, 22 May 95 12:41 AEST
  1975. Received: by svcs1.digex.net id AA10882
  1976.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 18:22:23 -0400
  1977. Received: from mail1.access.digex.net by svcs1.digex.net with SMTP id AA10876
  1978.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 18:22:21 -0400
  1979. Received: from rhea.otol.fi by mail1.access.digex.net with SMTP id AA00213
  1980.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 18:20:50 -0400
  1981. Received: from janus.otol.fi (tumu@janus.otol.fi [193.64.226.249]) by rhea.otol.fi (8.6.12/8.6.9) with ESMTP id BAA07258; Mon, 22 May 1995 01:22:13 +0300
  1982. Received: (from tumu@localhost) by janus.otol.fi (8.6.9/8.6.9) id BAA02571; Mon, 22 May 1995 01:22:11 +0300
  1983. Date: Mon, 22 May 1995 01:22:10 +0300 (EET DST)
  1984. From: Tuomas Lukinmaa <tumu@janus.otol.fi>
  1985. To: Martijn Wehrens <m.g.d.wehrens@chem.ruu.nl>
  1986. Cc: Amos-Mailing-List <amos-list@access.digex.net>
  1987. Subject: Re: rtez_on_myscreen?
  1988. In-Reply-To: <9505191257.AA21992@tc6.chem.ruu.nl>
  1989. Message-Id: <Pine.SUN.3.90.950522010230.2275B-100000@janus.otol.fi>
  1990. Mime-Version: 1.0
  1991. Content-Type: TEXT/PLAIN; charset=US-ASCII
  1992. Status: RO
  1993. X-Status: 
  1994.  
  1995. On Fri, 19 May 1995, Martijn Wehrens wrote:
  1996.  
  1997. > Hi all,
  1998. > The other day, Tumu / BFB team <tumu@janus.otol.fi
  1999. > posted a message containing the code needed to make use of the
  2000. > reqtools requesters rtezrequest and rtfilrequest. They used a function
  2001. > _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  2002. > in their code. I suppose this is to do a 'allocmem' from exec and this
  2003. > can be done without the extension they propose. The easiest way is
  2004. > to make use of :
  2005. > Reserve as work 6,108
  2006. > Poke$ Start(6),String$(chr$(0),108)
  2007. > _RTFILENAMEPRT=Start(6)
  2008. > Further, they use the Elmem$ functions to read out the text, this
  2009. > can also be done with:
  2010. > _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  2011. > which leads to the exact same result. However, there may be a reason
  2012. > to do this as they did, if there is: Please post a message explaining
  2013. > why!
  2014.  
  2015. You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  2016. like using Easylife and Makes lib commands because they are easier to 
  2017. use and Makes lib memory allocation routines are System friendly.
  2018.  
  2019. And I forgotted to mention that you'll need Easylife extension as well if 
  2020. you are going to use original Reqtools routines without modifications.
  2021.  
  2022.     Tumu / BFB Team
  2023.  
  2024.  
  2025. F
  2026. X-Status: 
  2027.  
  2028. m.g.d.wehrens@chem.ruu.nl (Martijn Wehrens) wrote on 19.05.1995 some
  2029. text under the subject rtez_on_myscreen?. I can't leave this
  2030. uncommentated ;-)
  2031.  
  2032. MW> The problem is: how do I set the 'screen'-tag in the taglist or what
  2033. MW> ever it is called in amos ? I studied the c-source 'demo.c'-file in the
  2034. MW> distribution but I have no idea where I must 'loke' my screen-base in
  2035. MW> order to have RT recognize it.
  2036.  
  2037. OpenScreen is obsolete... OpenScreenTagList (V36+) is the one you're
  2038. longing for...
  2039.  
  2040. This a working solution and requires 2.0+:
  2041.  
  2042. ' OpenIntScreen by Chris Hodges (21-May-95)
  2043. Screen Open 0,320,256,32,0
  2044. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  2045. ' Assign TAG list  
  2046. Gosub INITSCREENTAGS
  2047. ' Reserve memory for a colormap structure
  2048. Reserve As Work 14,33*8
  2049. ST=Start(14)
  2050. For A=0 To 31
  2051.   C=Colour(A)
  2052.   Doke ST,A
  2053.   Doke ST+2,(C and $F00)/256
  2054.   Doke ST+4,(C and $F0)/16
  2055.   Doke ST+6,C and $F
  2056.   Add ST,8
  2057. Next 
  2058. Doke ST,-1
  2059. ' Create Taglist... add tags at your choice... 
  2060. TAGSTART
  2061. TAG[SA_QUIET,-1]
  2062. TAG[SA_WIDTH,320]
  2063. TAG[SA_HEIGHT,256]
  2064. TAG[SA_DEPTH,5]
  2065. TAG[SA_TYPE,$F] : Rem CUSTOMSCREEN, $2=PUBSCREEN     
  2066. TAG[SA_BITMAP,Leek(Screen Base+$150)] : Rem AMOS Bitmap structure
  2067. TAG[SA_COLORS,Start(14)]
  2068. TAG[0,0]
  2069. ' Now open the screen... 
  2070. Amos To Back 
  2071. Areg(0)=0 : Areg(1)=Start(15)
  2072. SCR=Intcall(-$264) : Rem OpenScreenTagList
  2073. If SCR<>0
  2074.   ' Draw some thingies on the screen...
  2075.   Gr Writing 0
  2076.   For A=1 To 31
  2077.     Ink A : Text 31-A,100-A,"This is AMOS calling intuition!"
  2078.     Circle 200,170,A
  2079.   Next 
  2080.   ' Provisory "wait left mouse button" routine... no not use 
  2081.   ' in your programs, write system conform replacements please...
  2082.   Repeat : Multi Wait : Until(Peek($BFE001) and 64)=0
  2083.   ' Close screen (or wait until all windows have been closed)
  2084.   Repeat 
  2085.     Areg(0)=SCR : RES=Intcall(-$42) : Multi Wait 
  2086.   Until RES=1
  2087. End If 
  2088. Amos To Front 
  2089. Erase 15
  2090. Erase 14
  2091. End 
  2092. ' Screen Tags... refer to intuition/screens.i includes for detailed  
  2093. ' information on the tags... 
  2094. INITSCREENTAGS:
  2095.   TS=$80000000+33
  2096.   SA_LEFT=TS
  2097.   SA_TOP=TS+1
  2098.   SA_WIDTH=TS+2
  2099.   SA_HEIGHT=TS+3
  2100.   SA_DEPTH=TS+4
  2101.   SA_DETAILPEN=TS+5
  2102.   SA_BLOCKPEN=TS+6
  2103.   SA_TITLE=TS+7
  2104.   SA_COLORS=TS+8
  2105.   SA_ERRORCODE=TS+9
  2106.   SA_FONT=TS+10
  2107.   SA_SYSFONT=TS+11
  2108.   SA_TYPE=TS+12
  2109.   SA_BITMAP=TS+13
  2110.   SA_PUBNAME=TS+14
  2111.   SA_PUBSIG=TS+15
  2112.   SA_PUBTASK=TS+16
  2113.   SA_DISPLAYID=TS+17
  2114.   SA_DCLIP=TS+18
  2115.   SA_OVERSCAN=TS+19
  2116.   SA_OBSOLETE1=TS+20
  2117. ' *BOOLEANS* 
  2118.   SA_SHOWTITLE=TS+21
  2119.   SA_BEHIND=TS+22
  2120.   SA_QUIET=TS+23
  2121.   SA_AUTOSCROLL=TS+24
  2122.   SA_PENS=TS+25
  2123.   SA_FULLPALETTE=TS+26
  2124.   SA_COLORMAPENTRIES=TS+27
  2125.   SA_PARENT=TS+28
  2126.   SA_DRAGGABLE=TS+29
  2127.   SA_EXCLUSIVE=TS+30
  2128.   SA_SHAREPENS=TS+31
  2129.   SA_BACKFILL=TS+32
  2130.   SA_INTERLEAVED=TS+33
  2131.   SA_COLORS32=TS+34
  2132.   SA_VIDEOCONTROL=TS+35
  2133.   SA_FRONTCHILD=TS+36
  2134.   SA_BACKCHILD=TS+37
  2135.   SA_LIKEWORKBENCH=TS+38
  2136.   SA_RESERVED=TS+39
  2137.   SA_MINIMIZEISG=TS+40
  2138. Return 
  2139. Procedure TAGSTART
  2140.   Shared TAGST
  2141.   Reserve As Work 15,128
  2142.   TAGST=Start(15)
  2143. End Proc
  2144. Procedure TAG[TAG,V]
  2145.   Shared TAGST
  2146.   Loke TAGST,TAG : Loke TAGST+4,V : Add TAGST,8
  2147. End Proc
  2148.  
  2149. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  2150. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  2151. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  2152. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  2153. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  2154.  
  2155. Alltami (n.)
  2156.   The ancient art of being able to balance the hot and cold shower
  2157.   taps.
  2158. (from: "The Deeper Meaning of Liff")
  2159.  
  2160. From svcs1.digex.net!amos-request Mon May 22 12:42:45 1995 remote from cristal
  2161. Return-Path: <amos-request@svcs1.digex.net>
  2162. Received: from svcs1.digex.net by cristal.mpx.com.au with smtp
  2163.     (Smail3.1.28.1 #3) id m0sDNRL-0000lAC; Mon, 22 May 95 12:41 AEST
  2164. Received: by svcs1.digex.net id AA10882
  2165.   (5.67b8/IDA-1.5 for amos-out); Sun, 21 May 1995 18:22:23 -0400
  2166. Received: from mail1.access.digex.net by svcs1.digex.net with SMTP id AA10876
  2167.   (5.67b8/IDA-1.5 for <amos-list@svcs1.digex.net>); Sun, 21 May 1995 18:22:21 -0400
  2168. Received: from rhea.otol.fi by mail1.access.digex.net with SMTP id AA00213
  2169.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Sun, 21 May 1995 18:20:50 -0400
  2170. Received: from janus.otol.fi (tumu@janus.otol.fi [193.64.226.249]) by rhea.otol.fi (8.6.12/8.6.9) with ESMTP id BAA07258; Mon, 22 May 1995 01:22:13 +0300
  2171. Received: (from tumu@localhost) by janus.otol.fi (8.6.9/8.6.9) id BAA02571; Mon, 22 May 1995 01:22:11 +0300
  2172. Date: Mon, 22 May 1995 01:22:10 +0300 (EET DST)
  2173. From: Tuomas Lukinmaa <tumu@janus.otol.fi>
  2174. To: Martijn Wehrens <m.g.d.wehrens@chem.ruu.nl>
  2175. Cc: Amos-Mailing-List <amos-list@access.digex.net>
  2176. Subject: Re: rtez_on_myscreen?
  2177. In-Reply-To: <9505191257.AA21992@tc6.chem.ruu.nl>
  2178. Message-Id: <Pine.SUN.3.90.950522010230.2275B-100000@janus.otol.fi>
  2179. Mime-Version: 1.0
  2180. Content-Type: TEXT/PLAIN; charset=US-ASCII
  2181. Status: RO
  2182. X-Status: 
  2183.  
  2184. On Fri, 19 May 1995, Martijn Wehrens wrote:
  2185.  
  2186. > Hi all,
  2187. > The other day, Tumu / BFB team <tumu@janus.otol.fi
  2188. > posted a message containing the code needed to make use of the
  2189. > reqtools requesters rtezrequest and rtfilrequest. They used a function
  2190. > _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  2191. > in their code. I suppose this is to do a 'allocmem' from exec and this
  2192. > can be done without the extension they propose. The easiest way is
  2193. > to make use of :
  2194. > Reserve as work 6,108
  2195. > Poke$ Start(6),String$(chr$(0),108)
  2196. > _RTFILENAMEPRT=Start(6)
  2197. > Further, they use the Elmem$ functions to read out the text, this
  2198. > can also be done with:
  2199. > _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  2200. > which leads to the exact same result. However, there may be a reason
  2201. > to do this as they did, if there is: Please post a message explaining
  2202. > why!
  2203.  
  2204. You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  2205. like using Easylife and Makes lib commands because they are easier to 
  2206. use and Makes lib memory allocation routines are System friendly.
  2207.  
  2208. And I forgotted to mention that you'll need Easylife extension as well if 
  2209. you are going to use original Reqtools routines without modifications.
  2210.  
  2211.     Tumu / BFB Team
  2212.  
  2213.  
  2214. F
  2215. X-Status: 
  2216.  
  2217. On Fri, 19 May 1995, Martijn Wehrens wrote:
  2218.  
  2219. > Hi all,
  2220. > The other day, Tumu / BFB team <tumu@janus.otol.fi
  2221. > posted a message containing the code needed to make use of the
  2222. > reqtools requesters rtezrequest and rtfilrequest. They used a function
  2223. > _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  2224. > in their code. I suppose this is to do a 'allocmem' from exec and this
  2225. > can be done without the extension they propose. The easiest way is
  2226. > to make use of :
  2227. > Reserve as work 6,108
  2228. > Poke$ Start(6),String$(chr$(0),108)
  2229. > _RTFILENAMEPRT=Start(6)
  2230. > Further, they use the Elmem$ functions to read out the text, this
  2231. > can also be done with:
  2232. > _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  2233. > which leads to the exact same result. However, there may be a reason
  2234. > to do this as they did, if there is: Please post a message explaining
  2235. > why!
  2236.  
  2237. You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  2238. like using Easylife and Makes lib commands because they are easier to 
  2239. use and Makes lib memory allocation routines are System friendly.
  2240.  
  2241. And I forgotted to mention that you'll need Easylife extension as well if 
  2242. you are going to use original Reqtools routines without modifications.
  2243.  
  2244.     Tumu / BFB Team
  2245.  
  2246.  
  2247. F
  2248. X-Status: 
  2249.  
  2250. T.Lewis@bton.ac.uk (Eddie) wrote on 18.05.1995 some text under the
  2251. subject Trivial. I can't leave this uncommentated ;-)
  2252.  
  2253. Ed>     Thats right Eddie!!!! :-)
  2254.  
  2255. Ahhhh... %-)))))))))) Normally, one would enter the nickname as
  2256. username and the realname in brakets, but this way it works, too ;-)
  2257.  
  2258. Ed>     The AMOS scroll routine sucks!  I need to scroll an area of screen which
  2259. Ed> is about 154x154 pixels.  This needs to be done STRICTLY within these limits.
  2260.  
  2261. Where's the problem?
  2262.  
  2263. Either use Screen Copy or the Scroll routines in conjunction with the
  2264. Clip-Command, which will perfectly stay inside your specified
  2265. limits...
  2266.  
  2267. However, I cannot imagine how to get such weird dimensions as
  2268. 154x154... :-)
  2269.  
  2270. Look at this example program... it contains *one* Screen Copy command
  2271. for *all* directions...
  2272.  
  2273. Screen Open 0,320,256,4,0
  2274. Curs Off : Flash Off : Paper 0 : Pen 1
  2275. Palette 0,$FFF,$F00,$F0
  2276. Set Pattern 22
  2277. Ink 1,0 : Bar 0,0 To 320,256
  2278. X=100 : Y=20
  2279. Ink 6 : Box X-1,Y-1 To X+154,Y+154
  2280. Do 
  2281.   Wait Vbl 
  2282.   DX=Jleft(1)-Jright(1)
  2283.   DY=Jup(1)-Jdown(1)
  2284.   Screen Copy 0,X+Max(0,DX),Y+Max(0,DY),X+154+Min(DX,0),Y+154+Min(DY,0) To 0,X-Min(DX,0),Y-Min(DY,0)
  2285. Loop 
  2286.  
  2287. Ed> I will try and incorporate them if I can.  I do need some fast scrolling
  2288. Ed> routines though.  HELP!!!!!!!
  2289.  
  2290. What kind of RPG is it? I hope you use maps&tiles and so on...
  2291.  
  2292. Ed>     They may have been a good side to the C= liquidation.  Did you notice the
  2293. Ed> frequency of all the new stuff uploaded to Aminet increased since that
  2294. Ed> infamous start of procedings! :-)  Every cloud has a silver lining.
  2295.  
  2296. I've been really shocked by this huge amount of software coming on
  2297. aminet recently ;-))))
  2298.  
  2299. Ed> Long Live The AMIGA!
  2300.  
  2301. Dito.
  2302.  
  2303. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  2304. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  2305. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  2306. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  2307. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  2308.  
  2309. Albuquerque (n.)
  2310.   The shapeless squiggle which is utterly unlike your normal signa-
  2311.   ture, but which is, nevertheless, all you are able to produce when
  2312.   asked formally to identify yourself.
  2313.   Muslims, whose religion forbids the making of graven images, use
  2314.   albuquerques to decorate there towels, menu cards and pyjamas.
  2315. (from: "The Deeper Meaning of Liff")
  2316.  
  2317. F
  2318. X-Status: 
  2319.  
  2320. S93044370@ACS.SAULTC.ON.CA wrote on 18.05.1995 some text under the
  2321. subject Reading Directories. I can't leave this uncommentated ;-)
  2322.  
  2323. S0> Hi everyone, the other day somebody sent to the list a routine that reads
  2324. S0> in a directory from a disk, what I would like to know, is can this routine
  2325. S0> be modified to get the size of the files in the directory as well? If somebody
  2326. S0> could help me with this I would appreciate it.
  2327.  
  2328. I don't know who has posted this routine, but if it reads the
  2329. FileInfoBlock, you can read out any information you want as well...
  2330.  
  2331. These are the offsets of the FIB:
  2332.  
  2333. Fib_DiskKey     equ     0
  2334. Fib_DirEntryTyp equ     4
  2335. Fib_FileName    equ     8
  2336. Fib_Protection  equ     116
  2337. Fib_EntryType   equ     120
  2338. Fib_Size        equ     124
  2339. Fib_NumBlocks   equ     128
  2340. Fib_DateStamp   equ     132
  2341. Fib_Comment     equ     144
  2342. Fib_End         equ     260
  2343.  
  2344. e.g to get the comment of the file use:
  2345. =Peek$(FIBSTADR+144,80,Chr$(0))...
  2346.  
  2347. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  2348. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  2349. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  2350. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  2351. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  2352.  
  2353. Alcoy (adj.)
  2354.   Wanting to be bullied into having another drink.
  2355. (from: "The Deeper Meaning of Liff")
  2356.  
  2357. F
  2358. X-Status: 
  2359.  
  2360. paul.hickman@ecl.etherm.co.uk (Paul Hickman) wrote on 19.05.1995 some
  2361. text under the subject Re: Reading Directories. I can't leave this
  2362. uncommentated ;-)
  2363.  
  2364. PH> But why are you doing this - I know AMOS is full of bugs but I've 
  2365. PH> never had trouble with the DirFirst$() / DirNext$ functions!
  2366.  
  2367. Every tried to get the a filename with spaces in the middle or at the
  2368. end?
  2369.  
  2370. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  2371. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  2372. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  2373. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  2374. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  2375.  
  2376. Aldclune (n.)
  2377.   One who collects ten-year-old telephone directories.
  2378. (from: "The Deeper Meaning of Liff")
  2379.  
  2380. F
  2381. X-Status: 
  2382.  
  2383. co314519@student.uq.edu.au (Stuart Matthews) wrote on 19.05.1995 some
  2384. text under the subject Flushing memory in AmosPro. I can't leave this
  2385. uncommentated ;-)
  2386.  
  2387. SM> Does anyone know how to do the equivalent of an "avail flush" in AmosPro? 
  2388.  
  2389. Trap Reserve as Work 999,16000000
  2390.  
  2391. should do it...
  2392.  
  2393. SM> I have a game that plays music using Paul Reece's Enhanced Music 
  2394. SM> Extension v4.64.  I find that if I play the game after I've been using 
  2395. SM> my Amiga for a while, the music causes random bits of garbled graphics 
  2396. SM> to show up on my screen
  2397.  
  2398. Euh? Should be something more serious, I think...
  2399.  
  2400. SM> obviously these are unused bits of data lurking in memory.
  2401.  
  2402. Such unused bits should never be accessed by any program...
  2403.  
  2404. IMHO it's a wrong screen display/screen offset setting which causes
  2405. this crap graphics... where do there errors appear? Only in the
  2406. bottom of the screen or right in the current screen graphics?
  2407.  
  2408. Bye, Chris Hodges <chris@sixpack.pfalz.org>      __    __
  2409. A4000/400/CD/'30er; AMOS Extension-Coder    __  ///   / / _____
  2410. GCS d H s-:++ !g p? !au a18 w++ v? C+++     \\\///   / /_/ ___/ LOGOUT
  2411. E---- N++ K- W------ -po+ t++@ !5 j-- R+ G?  \XX/    \__/ __/  FASCISM!
  2412. tv- b+ D-- B? e+(++)* u++ h! f !r n+ !y+ AMIGA RULEZ!   \/
  2413.  
  2414. Ambatolampy (n.)
  2415.   The bizarre assortment of objects collected by a sleepwalker.
  2416. (from: "The Deeper Meaning of Liff")
  2417.  
  2418. F
  2419. X-Status: 
  2420.  
  2421. >> The other day, Tumu / BFB team <tumu@janus.otol.fi
  2422. >> posted a message containing the code needed to make use of the
  2423. >> reqtools requesters rtezrequest and rtfilrequest. They used a function
  2424. >> 
  2425. >> _RTFILENAMEPTR=Ma Malloc(108,Mem Public+Mem Clear)
  2426. >> 
  2427. >> in their code. I suppose this is to do a 'allocmem' from exec and this
  2428. >> can be done without the extension they propose. The easiest way is
  2429. >> to make use of :
  2430. >> 
  2431. >> Reserve as work 6,108
  2432. >> Poke$ Start(6),String$(chr$(0),108)
  2433. >> _RTFILENAMEPRT=Start(6)
  2434. >> 
  2435. >> Further, they use the Elmem$ functions to read out the text, this
  2436. >> can also be done with:
  2437. >> 
  2438. >> _RTFILE$=Peek$(_RTFILENAMEPRT,108,chr$(0))
  2439. >> 
  2440. >> which leads to the exact same result. However, there may be a reason
  2441. >> to do this as they did, if there is: Please post a message explaining
  2442. >> why!
  2443. >
  2444. >You can use both ways to reserve the reqbuffer and rtfilenamebuffer but I 
  2445. >like using Easylife and Makes lib commands because they are easier to 
  2446. >use and Makes lib memory allocation routines are System friendly.
  2447. >
  2448. >And I forgotted to mention that you'll need Easylife extension as well if 
  2449. >you are going to use original Reqtools routines without modifications.
  2450.  
  2451.   Alternatively, you could just use the Intuition Extension's built-in
  2452. ReqTools support. :)
  2453.  
  2454.   --Andy Church (achurch@binx.mbhs.edu)
  2455.     WWW: http://www.mbhs.edu/~achurch/
  2456.     AMOS Web Site: http://www.mbhs.edu/~achurch/amos/
  2457.  
  2458.  
  2459. F
  2460. X-Status: 
  2461.  
  2462. I have now send off the beta version to all who wanted to be beta testers
  2463. of the anim2bob grabber. If you asked for a copy and did not receive it,
  2464. let me know so I can resend it.
  2465.  
  2466. I will release version 1.0 hopefully in a week or 2 when I get some feed
  2467. back from the beta testers.
  2468. Changes to come in V1.0 already include:
  2469.  
  2470. 2 seperate versions. 
  2471.      One for Hard disk users. This will load as an accessory and auto
  2472. install. Very easy to use, simply press install. 
  2473.      The other for floppy users with small memory (ie a standard 500 or
  2474. 2000). This will be a stand alone program that will save the bobs/sprites
  2475. into a file.
  2476.  
  2477. 2 diferent ways of grabbing the anims.
  2478.      The version that was included in the beta version. It finds the
  2479. largest bob and grabs them all to that size.
  2480.      The other grabs the smallest size possible for each bob.
  2481.  
  2482. Option to save to disk as well as letting the object editor grab them.
  2483.  
  2484.  
  2485. I will post a uuencoded version of 1.0 in two weeks to the list (35K) if no
  2486. one objects ( and I mean no-one!). If some one does object to this let me
  2487. know (privately if you like) and I will come up with another way. 
  2488. The reason for this is that some people pay for their messsages, and if
  2489. they don't want it, thay shouldn't pay for it. Fair enough!
  2490.  
  2491. Darryl
  2492.  
  2493. -- Via DLG Pro v1.0
  2494.  
  2495.  
  2496.                #####\             _             /#####
  2497.                #( )# |          _( )__         | #( )# 
  2498.                ##### |         /_    /         | #####
  2499.                #" "# |     ___m/I_ //_____     | #" "#
  2500.                # O # |____#-x.\ /++m\ /.x-#____| # O #
  2501.                #m.m# |   /" \ ///###\\\ / "\   | #m.m#
  2502.                #####/    ######/     \######    \#####
  2503.  
  2504.                  EX nightclub DJ (currently looking for work)
  2505.  
  2506. F
  2507. X-Status: 
  2508.  
  2509. On Mon, 22 May 1995, Larry Mcgahey wrote:
  2510.  
  2511. > How can I get the amos list regularly? I don't remember where I down loaded it
  2512. > from.
  2513.  
  2514. aminet:dev/amos/
  2515.  
  2516. I am not sure what the files are called, but if you dl/view the INDEX 
  2517. file first you'll be able to find out yourself.
  2518.  
  2519. assign Aminet: ftp://ftp.doc.ic.ac.uk/packages/aminet/
  2520. assign Aminet: ftp://wuarchive.wustl.edu/pub/aminet/
  2521.  
  2522. :-)
  2523.  
  2524. .......................................................................
  2525. .       Branko Collin                .           'WHOP                .
  2526. .                                    .        whisssssCRAC!           .
  2527. .   //  u249026@vm.uci.kun.nl        .        THUMPA THUMPA'          .
  2528. . \X/   bcollin@mpi.nl               .  Meccano      -      Gilette   .
  2529. .......................................................................
  2530.  
  2531. F
  2532. X-Status: 
  2533.  
  2534.     The way HAM works is that the first pixel of every line defines a
  2535. color. The pixel beside it changes only one aspect of that color, either the
  2536. red, green or blue aspect. This pattern is repeated across the entire line
  2537. of  the graphics screen, each pixel only containing the change in one aspect pf
  2538. the color. By getting the pixel color, you are really only getting the value
  2539. of the change in one aspect of the previouse color. To calculate the color you
  2540. must actually apply the changes made to the first pixel of the line up to and
  2541. including the pixel in question. I am not sure of the exact form of the changes
  2542. as in which change goes in which order(I think it is Red then Green then Blue)
  2543. but I am sure someone could supply you with that information.
  2544.  
  2545.                 Robert Currie
  2546.  
  2547. F
  2548. X-Status: 
  2549.  
  2550. On Tue, 23 May 1995, Darryl Lewis wrote:
  2551.  
  2552. > Does any one know how to add a user funtion to the USER pull down menu at
  2553. > the top of the editor screen.
  2554.  
  2555. You dont need to do this.  The menu items have keyboard shortcuts 
  2556. anyway.  You can call them by using the Call Editor or Ask Editor 
  2557. commands.  Look up the docs on accessories.
  2558.  
  2559. > I know that you can click on ADD from that menu, but I'd like to do it in
  2560. > software.
  2561. > I'm trying to make a piece of software self installing, similar to the
  2562. > compiler.
  2563.  
  2564. What do you mean self-installing? 
  2565.  
  2566. > Can anyone help?
  2567. > Darryl
  2568.  
  2569.              ----====>>>> From the desk of ... <<<<====----
  2570.      _______   _______   _____   __  __
  2571.     / ___  /  / ___  /  / __ |  / / / /
  2572.    / /__/ /  / /  / /  / / / / / /_/ /   >Live long and prosper ;-)<
  2573.   /  __  /  / /  / /  / / / / /__ __/
  2574.  / /  / /  / /  / /  / /_/ /   / /   Email : cm4bcans@bs47c.staffs.ac.uk
  2575. /_/  /_/  /_/  /_/  /_____/   /_/    Web Page : http://www.staffs.ac.uk
  2576.  
  2577.  
  2578. F
  2579. X-Status: 
  2580.  
  2581. On Tue, 23 May 1995, Darryl Lewis wrote:
  2582.  
  2583. > Does any one know why the number returned using the point command on a ham
  2584. > picture is different from the colour seen?
  2585. > For example: 
  2586. > Load in a Ham picture to a screen.
  2587. > Use the POINT command on an area and a colour that you know.
  2588. > Cls using the number returned from the point function.
  2589. > The resulting screen is a different colour thaa what you'd think.
  2590. > Can anyone help?
  2591.  
  2592.     Well as it says in the Amos Manual, a Ham screen doesn't map the
  2593. colors on the screen to the color index.  Only the first 16 colors can be
  2594. set from the palette, the other 48 are all preset.  Not sure what order its
  2595. in (I don't have the manual with me), but I think its something like
  2596. Red,Blue,green - thats is 16-31 are shades of red etc....
  2597.  
  2598.     This is cos of the way ham works, it uses the base 16 colors as
  2599. normal, but the reds, greens and blues just alter the current pixels color
  2600. relative to the previous pixel.
  2601.  
  2602.     Say you have black as color 0.  And you plot a point with it.  And
  2603. then the next point is 31 (max red) and then the next is whatever max blue
  2604. is.  You'd end up with a black pixel, then a red pixel, and then a purple
  2605. pixel.  That is where the color fringing you get comes from on really badly
  2606. scanned images.
  2607.  
  2608.     So to find out the color of a point on a ham screen - you'll have to
  2609. look at all the pixels to the left of it, until you find the left hand side
  2610. of the screen, or one of the first 16 colors.
  2611.  
  2612. Chris
  2613. PS Of course that lot is all for the OCS ham mode (4096 colors) *8).
  2614.  
  2615. --
  2616. christ@dcs.rhbnc.ac.uk   | "What are you a man or a Windoze user?"
  2617. zhap195@vax.rhbnc.ac.uk  | 
  2618. --------------+----------+----------------------------------------------------
  2619. The Gathering | zippy.spods.dcs.kcl.ac.uk 5000
  2620. URL           | http://www.dcs.rhbnc.ac.uk/~christ
  2621.  
  2622.  
  2623. F
  2624. X-Status: 
  2625.  
  2626.  
  2627.  
  2628. >     The way HAM works is that the first pixel of every line defines a
  2629. > color. The pixel beside it changes only one aspect of that color, either the
  2630. > red, green or blue aspect. This pattern is repeated across the entire line
  2631. > of  the graphics screen, each pixel only containing the change in one aspect pf
  2632. > the color. By getting the pixel color, you are really only getting the value
  2633. > of the change in one aspect of the previouse color. To calculate the color you
  2634. > must actually apply the changes made to the first pixel of the line up to and
  2635. > including the pixel in question. I am not sure of the exact form of the changes
  2636. > as in which change goes in which order(I think it is Red then Green then Blue)
  2637. > but I am sure someone could supply you with that information.
  2638.  
  2639. That's not precise.
  2640. It is not the firs pixel on the screen which determine the colour... 
  2641. otherwise you could not have black and withe on the same line.
  2642.  
  2643. The HAM works this way (for HAM6):
  2644.  
  2645. The HAM is based on the fact that real good picture have lots of shade 
  2646. which can be "compressed" in less bits.
  2647. You have a base palette of 16 colors. Now, the screen is done by 6 planes 
  2648. (thta's why HAM6!).
  2649. The color of a pixel is described as follows:
  2650. the first 4 bit of the pixel (the first 4 bit-planes) tell you which color 
  2651. of the palette had to be used as the reference color.
  2652. The last 2 bits (last two bitplanes) carry these informations:
  2653. If both bits are 00 the color is used pure that's you see the same color 
  2654. which is stored in the palette base.
  2655. If I remember right the following value refer to RGB shades as follows...
  2656. If bit 1 is set to 1 you have a shade in the RED value of the color.
  2657. If bit 2 is set to 1 you have a shade in the GREEN value of the color
  2658. IF bit 1 is set to 1 and bit 2 is sey to 1 you have a shade in the BLUE 
  2659. value of the color.
  2660.  
  2661. So a pixel can different from the next on the left only of a single 
  2662. component of the color or it have to belong to the base palette set.
  2663.  
  2664. That's why you can't have smooth horizontal grey shades (but you can have 
  2665. smooth horizontal red, blue, green shades). A grey shade implies you 
  2666. firstly pass through the RED, the GREEN and the BLUE shade to finally 
  2667. reach the desired grey shade.
  2668. That is there are two pixels on the screen which are not of the desired 
  2669. color... that's called fringing.
  2670.  
  2671. Hope this will help.
  2672.  
  2673. MeF
  2674.  
  2675. F